2009-12-21 114 views
1

我能夠保存源圖像,但無法保存圖像與colorfilter: paint.setColorFilter(new ColorMatrixColorFilter(cm));如何轉換爲繪畫圖像轉換爲位圖

如果將圖像轉換爲位圖,可以方便地保存, 但我不知道如何做到這一點。有沒有人提供解決方案?

回答

1
  1. 有你的原始位圖。
  2. 創建一個新的乾淨的位圖,它具有與原始位圖相同的寬度/高度。
  3. 使用這個乾淨的位圖創建一個新的畫布。
  4. 設置這個新Canvas的繪畫對象等。
  5. 將您的原始位圖繪製到此新Canvas中。

由於此新Canvas由位圖(點3)支持,因此您在此Canvas中執行的任何繪圖將成爲新位圖(點2)的一部分。現在只需從第2點調用此位圖上的'compress',並將位圖保存爲jpg/png。

+0

canvas1 = new Canvas(cBitmap); canvas1.drawBitmap(cBitmap,x,y,paint); MediaStore.Images.Media.insertImage(getContentResolver(), \t \t \t的CBitmap, \t空, \t NULL); 我創建了上述爲你說的,但我仍然不打包將圖像保存爲位圖...請幫助 – starter 2009-12-22 08:42:40

+0

//您已經有originalBitmap及其'寬度'和'高度'。 位圖newBitmap = Bitmap.create(width,height,config); Canvas canvas1 = new Canvas(newBitmap); canvas1.drawBitmap(originalBitmap,0,0,paint); (您可能希望在畫布上設置合適的clipRect1) 在此代碼之後,newBitmap包含由'paint'修改的originalBitmap。 要麼使用newBitmap調用insertImage,要麼調用newBitmap.compress(...) – 2009-12-22 22:41:47

+0

現在它的工作正常,但我無法保存到SD卡...圖像只保存在相機圖片中 – starter 2009-12-28 06:54:36