草庐IT

CF_BITMAP

全部标签

android - Bitmap.createBitmap(Bitmap source, int x, int y, int width, int height) 返回错误的位图

我必须裁剪位图图像。为此,我正在使用Bitmapbitmap=Bitmap.createBitmap(imgView.getWidth(),imgView.getHeight(),Bitmap.Config.RGB_565);Bitmapresult=Bitmap.createBitmap(bitmap,imgView.getLeft()+10,imgView.getTop()+50,imgView.getWidth()-20,imgView.getHeight()-100);bitmap.recycle();Canvascanvas=newCanvas(result);imgView

java - 如何修复 "canvas: trying to use a recycled bitmap error"?

我正在创建一个RecyclerView来显示图片网格。选择其中之一时,它应该打开一个带有转换的新Activity。我正在使用Glide库加载图片,过渡看起来很糟糕,因为它会在新Activity中重新加载图片。所以我不得不将它保存在缓存中,然后将其用于转换。我有代码,但有时如果图片没有加载,它会抛出CanvasRuntimeException。这是日志:07-0315:19:58.63328461-28461/jahirfiquitiva.projectE/AndroidRuntime﹕FATALEXCEPTION:mainProcess:jahirfiquitiva.project,P

安卓 :NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference

我正在尝试从SD卡获取图像到位图中以在ImageView中显示。运行应用程序后,首先显示两到三个图像,但是当我滚动列表时应用程序崩溃并出现NullPointerException异常:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“intandroid.graphics.Bitmap.getWidth()”在com.example.tazeen.classnkk.Activity1$MyListAdapter.getView(Activity1.java:357)if(objElement.endsWith(mp3_Pattern)){Lo

android - 来自 Canvas.setBitmap(Bitmap) 的 UnsupportedException

我正在创建一个应用程序,它可以在用户控制下进行绘图等操作,并让他们保存它。我尝试实现此目的的方法是使用Canvas在其上绘制的自定义位图,然后保存生成的位图。一切都按预期工作,直到调用Canvas.setBitmap(Bitmap)。我收到以下错误。03-2413:47:50.741:E/AndroidRuntime(27888):FATALEXCEPTION:main03-2413:47:50.741:E/AndroidRuntime(27888):Process:example.imageeditor,PID:2788803-2413:47:50.741:E/AndroidRunt

android - 将 Android.Graphics.Bitmap 转换为图像

我正在尝试按如下方式获取View的屏幕截图。我正在获取位图,我需要将其转换为图像以添加到PDF生成器中。using(varscreenshot=Bitmap.CreateBitmap(200,100,Bitmap.Config.Argb8888)){varcanvas=newCanvas(screenshot);rootView.Draw(canvas);using(varscreenshotOutputStream=newFileStream(screenshotPath,System.IO.FileMode.Create)){screenshot.Compress(Android.

android - java.lang.OutOfMemoryError : bitmap size exceeds VM budget 错误

这个问题在这里已经有了答案:关闭11年前。我正在从图库中获取照片并显示在ImageView中。但我的问题是有时工作正常,有时出错。错误是位图大小超出VM预算..日志错误..04-0110:14:57.098:ERROR/AndroidRuntime(12863):java.lang.OutOfMemoryError:bitmapsizeexceedsVMbudget04-0110:14:57.098:ERROR/AndroidRuntime(12863):atandroid.graphics.BitmapFactory.nativeDecodeStream(NativeMethod)0

android - bitmap.compress() 参数 'quality' 是什么意思?

在我的应用程序中,我向服务器发送了一些图像。图片最大尺寸为300kb,我将调整文件大小。这是我的调整代码。publicstaticvoidresize_filesize(Contextcontext,Uriuri,intmaxSize){intfilesize;intcompressRate;try{InputStreaminputStream=context.getContentResolver().openInputStream(uri);filesize=inputStream.available();inputStream.close();compressRate=((100*

Android Bitmap Masking (Xfermode) 留下不透明的黑色背景

我有一个自定义View,在onDraw()中,我正在尝试执行位图mask。我有一个填充整个View的squareBitmap(红色),还有一个用作mask的circleBitmap(蓝色)。我正在使用模式:PorterDuff.Mode.DST_IN。我期望的结果是一个红色实心圆圈。我明白了,但我也得到了黑色不透明背景。我不想要这个不透明的背景,而它应该是透明的。图1是我得到的结果,图2是我要找的结果。我的代码:(为了这个问题,我把所有东西都移到了onDraw()里面)protectedvoidonDraw(Canvascanvas){finalintwidth=canvas.getW

android - 什么时候(如果有的话)我应该使用 Bitmap.recycle()?

根据AndroidDevelopers网站,Bitmap.recycle()方法定义为:Freethenativeobjectassociatedwiththisbitmap,andclearthereferencetothepixeldata我开发了一些创建/解码大量位图的应用程序,并将结果位图对象放入ImageView中。有时我会遇到著名的异常,例如:bitmapsizeexccededvmbudget和outofmemoryerror此外,我确定我没有任何可能导致这种情况的内存泄漏。经过大量搜索,我发现了“回收”方法,并在不再需要时使用它来释放位图的native内存。看起来很有帮

android - 获取ARGB_8888 Android Bitmap中的原始数据

我正在尝试使用copyPixelsToBuffer和copyPixelsFromBuffer方法在Android上访问ARGB_8888格式的位图原始数据。但是,调用这些调用似乎总是将alphachannel应用于rgbchannel。我需要byte[]或类似格式的原始数据(通过JNI;是的,我知道Android2.2中的bitmap.h,但不能使用它)。这是一个示例://Create1x1Bitmapwithalphachannel,8bitsperchannelBitmapone=Bitmap.createBitmap(1,1,Bitmap.Config.ARGB_8888);on