【问题标题】:Scaling image before loading on to canvas在加载到画布之前缩放图像
【发布时间】:2014-03-26 16:02:25
【问题描述】:

所以,这是我的代码,用于将图像从 SD 卡加载到画布上,以便能够在其上绘图。然而,在大多数情况下,图像会出现拉伸和扭曲。我想要代码来缩放图像,使其在画布上看起来成比例。请帮我。谢谢。

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == 1) {
Uri currImageURI = data.getData();
String s= getRealPathFromURI(currImageURI);
File file = new File(s);

if (file.exists()) {
Drawable d = Drawable.createFromPath(file.getAbsolutePath());
drawView.setBackground(d);
}
else
{
   // Toast the user
}

}
}
}

【问题讨论】:

  • 这不是在画布中绘制图像的方式。使用 canvas.drawBitmap 方法。 developer.android.com/reference/android/graphics/Canvas.html

标签: android file-upload paint image-scaling


【解决方案1】:

您没有使用Canvas,我相信您使用ImageView 来显示您的图像。

不要使用setBackground(),而是使用setImageDrawable()

如果您的图像仍然失真,请使用setScaleType() 并使用此处列出的scaleTypes 之一http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    相关资源
    最近更新 更多