我有正方形或矩形的位图.我采取最短的一面,做这样的事情:
int value = 0;
if (bitmap.getHeight() <= bitmap.getWidth()) {
value = bitmap.getHeight();
} else {
value = bitmap.getWidth();
}
Bitmap finalBitmap = null;
finalBitmap = Bitmap.createBitmap(bitmap, 0, 0, value, value);
Run Code Online (Sandbox Code Playgroud)
然后我使用它将它缩放到144 x 144位图:
Bitmap lastBitmap = null;
lastBitmap = Bitmap.createScaledBitmap(finalBitmap, 144, 144, true);
Run Code Online (Sandbox Code Playgroud)
问题是它裁剪原始位图的左上角,任何人都有代码来裁剪位图的中心?
我如何使用毕加索将图像裁剪为imageview?
默认似乎缩小它,所以整个事情显示适合似乎伸展它.centercrop本身就打破了.fit centercrop似乎与合适相同
谢谢
我正在为我的应用程序制作一个图标..该应用程序基本上是一个朋友查找器.我创建的叠加层看起来很像谷歌纵横的图标.我有一个图像,由于用户而改变,我有寄宿生.我已经能够分层绘制和叠加精细,但问题是,图像延伸到边框的大小.这是一个问题,因为如果你从未见过Google Lat图标,它底部有一个点,它之间有空隙.
我需要做的是,以某种方式将变化图像的大小限制为边框的方形部分的边界.任何帮助将非常感激.这是我的片段:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 25;
Bitmap bit = BitmapFactory.decodeFile(photo, options);
draw = new BitmapDrawable(bit);
Resources r = getResources();
Drawable[] layers = new Drawable[2];
layers[0] = draw;
layers[1] = r.getDrawable(R.drawable.border);
LayerDrawable layerDrawable = new LayerDrawable(layers);
draw = layerDrawable;
}else{
draw = this.getResources().getDrawable(R.drawable.androidmarker);
}
HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(draw, this);
GeoPoint point = new GeoPoint(lat,lon);
OverlayItem overlayitem = new OverlayItem(point, username, avail + " : " + status + " : Position updated at : " …Run Code Online (Sandbox Code Playgroud)