【问题标题】:Is it possible to Draw/paint on to image and also to erase it in android?是否可以在图像上绘制/绘画并在 android 中擦除它?
【发布时间】:2012-01-03 16:56:06
【问题描述】:

在我的应用程序中,我正在使用此画布代码进行绘制。

 @Override
    protected void onDraw(Canvas canvas) {
        Bitmap kangoo =  BitmapFactory.decodeResource(getResources(),R.drawable.icon);

        canvas.drawColor(0xFF00FF00);
        //canvas.drawBitmap (kangoo, 200,  200, null); 
        canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);

        canvas.drawPath(mPath, mPaint);

    }

但是当我要保存这个 mBitmap 时,它并没有保存我放在 mBitmap 上的位图。我的意思是它没有与kangoo位图一起保存。

那么这段代码有什么问题? 谢谢。

【问题讨论】:

  • 非常不清楚您要在这里实现什么 - 尝试向我们展示更多您的代码(例如,您在哪里尝试保存位图)并解释您要实现的目标跨度>
  • @PolamReddyRajaReddy:你做了什么新的??您只需从此处复制粘贴开发人员站点的示例:developer.android.com/resources/samples/ApiDemos/src/com/…
  • @PolamReddyRajaReddy :请仔细阅读问题,然后发表评论或回答。我想在图像上绘画并在该绘画上进行擦除。这是此演示应用程序无法实现的。
  • 您必须根据问题发表评论或回答。不是为了你自己的方式。
  • 请说明您是要擦除正在绘制的内容还是要保存正在绘制的内容。两者都有不同的答案

标签: android android-layout android-emulator android-widget


【解决方案1】:

如果你想在编辑后保存图像,你想做这样的事情:

view.setDrawingCacheEnabled(true);
Bitmap bitmap=view.getDrawingCache();
// this creates a bitmap with whatever the drawing state of the view currently is (with your edits that is)
//you can now save the image .

【讨论】:

  • 我认为你没有正确理解我。我的意思是我想在任何图像上绘画,然后想保存编辑后的图像。并且还应该有从图像中擦除的功能,而不是图像。
  • 在我的代码中,我使用 mBitmap 来保存图像。那我为什么要再拍一张位图??
  • mBitmap 不会有您对图像所做的编辑。如果您从视图中获取绘图缓存,它将为您提供已在视图上完成的所有绘图。如果它适合您,您也可以执行 mBitmap=view.getDrawingCache()。
  • 嗯嗯。 . .好的,让我试试这个。感谢您的精彩回复。
  • 好的。请告诉我,我应该在哪里创建视图对象?
猜你喜欢
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-31
  • 1970-01-01
相关资源
最近更新 更多