草庐IT

Android:BitmapFactory.decodeByteArray 给出像素化位图

我正在开发一个Android应用程序,它可以显示从Flickr下载的照片。我从一个字节数组中获取一个位图对象,该数组又从相关的FlickrURL中读取,如下所示:BitmapFactory.Optionsopt=newBitmapFactory.Options();opt.inDither=true;opt.inPreferredConfig=Bitmap.Config.ARGB_8888;Bitmapbitmap=BitmapFactory.decodeByteArray(data,0,data.length,opt);然后我在View对象的onDraw方法中将位图绘制到Canvas

android - 可绘制对象与位图

这个问题在这里已经有了答案:WhatisthedifferencebetweenBitmapandDrawableinAndroid?(4个答案)关闭6年前。我正在为Android编写实时游戏,在查看了SDK中提供的示例中的一些代码后,我对何时应该使用Bitmap或Drawable感到困惑用于我游戏中的Sprite。有什么区别?哪个更适合(更快)Sprite,哪个更适合静态背景?

android - 如何使用多部分形式的数据json将图像(位图)发送到android中的服务器

我有上传图片到服务器的代码,它可以工作,HttpEntityresEntity;HttpClienthttpClient=newDefaultHttpClient();HttpPostpost=newHttpPost(Constants.url_create_product);MultipartEntityreqEntity=newMultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);Filefile=newFile(path);FileBodybin=newFileBody(file);reqEntity.addPart("pho

android - 如何在不降低性能的情况下在 Android 游戏的屏幕上绘制大量位图

我想为android制作一个基于图block的游戏。目前我正在将每个图block绘制为单独的位图。我有一个很大的for循环,它从一个字符串中读取并根据它找到的绘制关卡的字符绘制不同的图block。我允许用户使用滚动手势滚动屏幕。但是游戏速度太慢了。用户滚动后需要很长时间才能更新屏幕。我认为这是因为它必须单独绘制每个图block的位图。什么是绘制关卡的更快方法?我在想我可以将所有的图block合并成一个位图。但我不知道该怎么做。有什么想法吗?无论如何,这是我的代码,因此您可以看到问题所在:packageorg.example.tutorial2d;importandroid.app.Ac

Android解码器->解码为位图下载返回false

我已经开始了DEBUG/skia(xxxx):---decoder->decodereturnedfalse关于我在ImageViews中使用的来自Facebook的一些个人资料图片的问题。大多数都能完美运行,但偶尔我会发现一个永远无法运行的情况。出于向后兼容的原因,我正在针对Android1.6编译我的应用程序。我做了一些挖掘,发现了很多关于这个问题的线索。我已经在使用此处讨论的FlushedInputStream:http://code.google.com/p/android/issues/detail?id=6066Bitmapb=BitmapFactory.decodeStr

Android:加载 alpha 掩码位图

我有一个单channelPNG文件,我想将其用作Porter-Duff绘图操作的alpha蒙版。如果我在没有任何选项的情况下加载它,生成的位图具有RGB_565配置,即被视为灰度。如果我将首选配置设置为ALPHA_8,它会将其加载为灰度ARGB_8888。我如何说服Android将该文件视为alpha蒙版而不是灰度图像?mask1=BitmapFactory.decodeStream(pngStream);//mask1.getConfig()isnowRGB_565BitmapFactory.OptionsmaskOpts=newBitmapFactory.Options();mas

Android - 位图和内存管理?

我在很多示例中看​​到,开发人员对位图调用了recycle(),然后将其设置为null。为什么这是必要的,垃圾收集器不负责释放位图吗?Bitmapbitmap=BitmapFactory.decodeStream(inputStream);bitmap.recycle();bitmap=null; 最佳答案 加入俱乐部。它有点但不完全是。问题是,在Android的Honeycomb之前版本中,位图内存是(现在)从非托管内存分配的,这会产生各种问题。它仍然是从位图对象实现的终结器中释放的。这意味着至少需要2次GC才能收集它。此外,如果

android - 将 Mat 转换为位图 Opencv for Android

我正在尝试使用以下代码将MAt转换为位图:Bitmapbmp=Bitmap.createBitmap(width,height,Bitmap.Config.ARGB_8888);Mattmp=newMat(width,height,CvType.CV_8UC1,newScalar(4));try{//Imgproc.cvtColor(seedsImage,tmp,Imgproc.COLOR_RGB2BGRA);Imgproc.cvtColor(seedsImage,tmp,Imgproc.COLOR_GRAY2RGBA,4);Utils.matToBitmap(tmp,bmp);}ca

android - 使用 Facebook 的 Fresco 加载位图

我正在尝试用Fresco替换我的Android应用程序中的Picasso。但是我不确定如何使用Fresco简单地加载位图。对于Picasso,我只会执行以下操作。Bitmapposter=Picasso.with(getActivity()).load(url).resize(Utils.convertDpToPixel(WIDTH,HEIGHT)).centerCrop().get();我一直无法弄清楚如何使用此Fresco创建位图。有任何想法吗? 最佳答案 正如Fresco所说:如果您对管道的请求是解码图像-Android位图,

android - 在Android中将位图的大小缩小到指定大小

我想将位图的大小精确地减小到200kb。我从sdcard中获取图像,将其压缩并以不同的名称再次保存到sdcard中的不同目录中。压缩效果很好(3mb的图像被压缩到大约100kb)。我为此编写了以下代码行:Stringimagefile="/sdcard/DCIM/100ANDRO/DSC_0530.jpg";Bitmapbm=ShrinkBitmap(imagefile,300,300);//thismethodcompressestheimageandsavesintoalocationinsdcardBitmapShrinkBitmap(Stringfile,intwidth,in