Android 位图裁剪中心

标签 android bitmap crop

我有正方形或矩形的位图。我走最短的一边,做这样的事情:

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);

然后我使用以下方法将其缩放为 144 x 144 位图:

Bitmap lastBitmap = null;
lastBitmap = Bitmap.createScaledBitmap(finalBitmap, 144, 144, true);

问题是它裁剪了原始位图的左上角,谁有裁剪位图中心的代码?

最佳答案

enter image description here

这可以通过以下方式实现:Bitmap.createBitmap(source, x, y, width, height)

if (srcBmp.getWidth() >= srcBmp.getHeight()){

  dstBmp = Bitmap.createBitmap(
     srcBmp, 
     srcBmp.getWidth()/2 - srcBmp.getHeight()/2,
     0,
     srcBmp.getHeight(), 
     srcBmp.getHeight()
     );

}else{

  dstBmp = Bitmap.createBitmap(
     srcBmp,
     0, 
     srcBmp.getHeight()/2 - srcBmp.getWidth()/2,
     srcBmp.getWidth(),
     srcBmp.getWidth() 
     );
}

关于Android 位图裁剪中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6908604/

相关文章:

安卓磨损 : How to get raw PPG data?

java - Dagger 2 问题覆盖单个提供来自应用程序使用的库中模块的注释方法

android - JobScheduler 和 JobIntentService

android - 如何在没有 bitmap.compress 方法的情况下将位图写入文件

c# - System.Drawing.Image 和 System.Drawing.Bitmap 有什么区别?

android - 保存从相机拍摄的图片时,android 中出现 java.lang.OutOfMemoryError

php - 从现有图像创建缩略图的最佳方法是什么

c# - 一款 C# 游戏统治一切(iOS、Android、WP7、W7、Mac OS X 和 XBOX)

FFmpeg filter_complex concat 仅给出裁剪的第一个输入

java - android 裁剪图像扩展到其原始裁剪