2010-06-24 16 views
38

Başka bir görüntüdeki görüntüdeki bir bindirmeyi temel olarak katlayan bir android uygulaması yazmak istiyorum ve sonra resmi jpg veya png olarak bindirme ile kaydetmek istiyorum. Temel olarak bu, kaydetmek istediğim bütün manzara olacak.Android, jpg veya png görünümüne kaydet

Örnek kod çok yardımcı olabilir.

DÜZENLEME: önerilerinizi denedik ve Yıldızlı Line'da bir boş gösterici alıyorum

.

import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.FileOutputStream; 

import android.app.Activity; 
import android.graphics.Bitmap; 
import android.graphics.Bitmap.CompressFormat; 
import android.os.Bundle; 
import android.os.Environment; 
import android.widget.LinearLayout; 
import android.widget.TextView; 

    public class EditPhoto extends Activity { 
     /** Called when the activity is first created. */ 
    LinearLayout ll = null; 
    TextView tv = null; 
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
      tv = (TextView) findViewById(R.id.text); 
      ll = (LinearLayout) findViewById(R.id.layout); 
      ll.setDrawingCacheEnabled(true); 
      Bitmap b = ll.getDrawingCache(); 
      File sdCard = Environment.getExternalStorageDirectory(); 
      File file = new File(sdCard, "image.jpg"); 
      FileOutputStream fos; 
     try { 
     fos = new FileOutputStream(file); 
     *** b.compress(CompressFormat.JPEG, 95,fos); 
     } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
     } 

     } 
    } 
+0

Bunun üzerinde hiçbir şey yok mu? Mümkün olduğunu biliyorum, bunu diğer uygulamalarda gördüm. – shaneburgess

+0

Düzenlemeyi nasıl yaptığınızı açıklayan bir kod verebilir misiniz? –

+0

Şu anda bir fikir daha var, ancak sadece fotoğraf görüntü görünümünün üzerine bir görüntü görüntüsü vereceğim. Bunu yapmanın daha iyi bir yolu yoksa. – shaneburgess

cevap

74

Bir Görünümün çizim önbelleğinden yararlanabilirsiniz. Görünüm Görünümü'niz nerede bulunur? 95, JPG sıkıştırmanın kalitesidir. Ve dosya çıkış akışı sadece budur. Moncader yanıtında b.compress() yönteminin bir 3 parametre olarak

+0

Kodunuzu denedim, ancak kök FileOutputStream için nereden başlıyor? beacause Emülatörün klasörlerine bakmaya çalıştım ve kaydedilen görüntüyü bulamadım ... – Sephy

+2

Telefon kökünden başlıyor. Bu nedenle, sdcard'dan bir şey yüklemek istiyorsanız, sdcard'ın kökü almak için Environment.getExternalStorageDirectory() öğesini kullanın. – Moncader

+0

Bu durumda bir LinerLayout görünümü olabilir ve bu LinearLayout'ta bir şey kapar mı? – shaneburgess

6
File sdCard = Environment.getExternalStorageDirectory(); 
File file = new File(sdCard, "image.jpg"); 
FileOutputStream fos = new FileOutputStream(file); 

kullanımı fos başvuru. Görüntü sd kartınızın kök dizininde image.jpg olarak saklanacaktır.

İlgili konular