【问题标题】:Android Bitmap on Canvas from External File来自外部文件的画布上的 Android 位图
【发布时间】:2015-08-18 07:12:12
【问题描述】:

我使用以下代码从资源文件夹中获取位图并将其放入可绘制对象中并将其绘制到画布上

 Drawable f = getResources().getDrawable(R.drawable.harris1);
 f.setBounds(a,120,a+200,270);
 f.draw(canvas);

我希望能够从设备上的图片目录中获取位图并将其绘制在画布上

我得到的文件路径如下

 File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
 String name = "harris1.jpg";
 File file = new File(path, name );
 String fileName = String.format("%s/" + name, path);

在这种情况下,文件名等于“/storage/emulated/0/Pictures/harris1.jpg”

如何换行

可绘制 f = getResources().getDrawable(R.drawable.harris);

在设备上使用图片的文件名?

感谢任何帮助

标记

【问题讨论】:

    标签: android canvas bitmap drawable


    【解决方案1】:

    比如:

    Bitmap bitmap = BitmapFactory.decodeFile(pathToFile);
    canvas.drawBitmap(bitmap, ...);
    

    【讨论】:

    • 我试过 Bitmap bitmap = BitmapFactory.decodeFile(fileName); canvas.drawBitmap(bitmap, new Rect(a,120,a+200,270), rectangle, null);但是在他的单词矩形下有一个错误矩形是什么值?
    • 试着放两个相等的矩形 new Rect(a,120,a+200,270)
    • 抱歉抛出错误 06-04 06:13:28.206: E/AndroidRuntime(9993): java.lang.NullPointerException 06-04 06:13:28.206: E/AndroidRuntime(9993): at android.graphics.Canvas.throwIfCannotDraw(Canvas.java:1083)
    • 这项工作将矩形放置在正确的位置和大小,但它为空白且不显示位图 Bitmap bitmap = BitmapFactory.decodeFile("/storage/emulated/0/Pictures/harris1.jpg"); canvas.drawBitmap(bitmap, new Rect(a,120,a+200,270), new Rect(a,120,a+200,270), null);
    • 这样就可以了 canvas.drawBitmap(bitmap,null, new Rect(a,120,a+200,270), null);使源矩形为空-
    【解决方案2】:

    【讨论】:

      【解决方案3】:

      你可能会喜欢这段代码:

      ImageView myImageView = (ImageView)findViewById(R.id.imageview);
      BitmapDrawable imagePath = new BitmapDrawable(getResources(), "/storage/emulated/0/Pictures/harris1.jpg");
      myImageView.setImageBitmap(imagePath.getBitmap());
      

      【讨论】:

      • 我没有图像视图我试图打印到画布上,然后使用它从资源中保存为 PDF 工作正常,只是无法弄清楚如何使用设备中的图像
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-27
      • 2017-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-16
      相关资源
      最近更新 更多