0

我有一個應用程序,它可以從相機拍攝照片。通常這些照片具有矩形形狀或正方形形狀。但由於使這些照片呈圓形現在我的問題是將這個方形圖片製成半徑爲一半寬度或高度的圓形,並且應該從圖片中刪除夾住的部分。將繪製成圓形的方形變換爲可繪製的圓形,不會影響像素質量

它的作用就像從觸及正方形所有面的中點的正方形做出一個圓。 我對繪圖或其他繪圖功能沒有任何經驗。

enter image description here

,比如我有方起初現在我想使圖像的圓形,使得由箭頭所指的部分應該從圖像裁剪。

注:因爲我必須使用相機圖像。質量是至關重要的因素。所以請建議可能的方式,不會影響像素質量和其他重要因素。

回答

1

你可以通過掩蓋圖像與你想要的形狀來做到這一點,詳細信息見this post。 示例代碼:

Resources resources = context.getResources(); 
Bitmap original = BitmapFactory.decodeResource(resources,R.drawable.original); 
Bitmap mask = BitmapFactory.decodeResource(resources,R.drawable.mask); 
Bitmap result = Bitmap.createBitmap(mask.getWidth(), mask.getHeight(), Config.ARGB_8888); 
Canvas c = new Canvas(result); 
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); 
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN)); 
c.drawBitmap(original, 0, 0, null); 
c.drawBitmap(mask, 0, 0, paint); 
paint.setXfermode(null); 
imageView.setImageBitmap(result); 
+0

是什麼R.drawable.mask here.Is出中空環或只是一個繪製有circluar shape.Can您指定的一些細節。 和ya thnx用於共享代碼示例。) – 2013-02-10 09:28:38

+0

在此示例中,它是圓形的,但如果您自己在攝像頭捕獲的圖像的尺寸中繪製它(如1600x1200) – Axarydax 2013-02-10 09:29:46