2 u014734740 u014734740 于 2016.02.08 20:47 提问

ImageLoader加载出来的PNG图像背景是黑色的?

图片说明
我的ImageLoader的config:
File cacheDir = StorageUtils.getOwnCacheDirectory(getApplicationContext(), "imageloader/Cache");
ImageLoaderConfiguration config = new ImageLoaderConfiguration
.Builder(this)
.memoryCacheExtraOptions(480, 800) // max width, max height,即保存的每个缓存文件的最大长宽
.discCacheExtraOptions(480, 800, Bitmap.CompressFormat.PNG, 75, null) // Can slow ImageLoader, use it carefully (Better don't use it)/设置缓存的详细信息,最好不要设置这个
.threadPoolSize(3)//线程池内加载的数量
.threadPriority(Thread.NORM_PRIORITY - 2)
.denyCacheImageMultipleSizesInMemory()
.memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024)) // You can pass your own memory cache implementation/你可以通过自己的内存缓存实现
.memoryCacheSize(2 * 1024 * 1024)
.discCacheSize(50 * 1024 * 1024)
.discCacheFileNameGenerator(new Md5FileNameGenerator())//将保存的时候的URI名称用MD5
.tasksProcessingOrder(QueueProcessingType.LIFO)
.discCacheFileCount(100) //缓存的文件数量
.discCache(new UnlimitedDiscCache(cacheDir))//自定义缓存路径
.defaultDisplayImageOptions(Options.getListOptions())
.imageDownloader(new BaseImageDownloader(this, 5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)超时时间
.writeDebugLogs() // Remove for release app
.build();//开始构建
ImageLoader.getInstance().init(config);
Options的配置:
DisplayImageOptions options = new DisplayImageOptions.Builder()
// 设置图片在下载期间显示的图片
.showImageOnLoading(R.drawable.icon_stub)
// 设置图片Uri为空或是错误的时候显示的图片
.showImageForEmptyUri(R.drawable.icon_stub)
// 设置图片加载/解码过程中错误时候显示的图片
.showImageOnFail(R.drawable.icon_error)
// 设置下载的图片是否缓存在内存中
.cacheInMemory(false)
// 设置下载的图片是否缓存在SD卡中
.cacheOnDisc(true)
// 保留Exif信息
.considerExifParams(true)
// 设置图片以如何的编码方式显示
.imageScaleType(ImageScaleType.EXACTLY)
// 设置图片的解码类型
.bitmapConfig(Bitmap.Config.RGB_565)

           // .decodingOptions(android.graphics.BitmapFactory.Options decodingOptions)//设置图片的解码配置
                    //是否考虑JPEG图像EXIF参数(旋转,翻转)
            .considerExifParams(false)
                    // 设置图片下载前的延迟
            .delayBeforeLoading(100)// int
                    // delayInMillis为你设置的延迟时间
                    // 设置图片加入缓存前,对bitmap进行设置
                    //.preProcessor(processor);
            .resetViewBeforeLoading(true)// 设置图片在下载前是否重置,复位
                    // .displayer(new RoundedBitmapDisplayer(20))//是否设置为圆角,弧度为多少
            .displayer(new FadeInBitmapDisplayer(100))// 淡入
            .build();

之前我遇到的这个问题是因为在把加载的图片存入内存时没有保存成PNG格式,但是ImageLoader这东西怎么设置保存图片的格式为PNG呢?求大神指点

4个回答

caozhy
caozhy   Ds   Rxr 2016.02.09 07:06

ImageLoader的android:background设置为"#00000000"

caozhy
caozhy   Ds   Rxr 2016.02.09 07:07

android:color设置为transparent

smxy34
smxy34   2016.08.15 17:18

你好,请问你的问题解决了吗?

victor888886
victor888886   2016.09.02 13:25

我也遇到这个问题了,使用默认的配置就行了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Volley 框架 ImageLoader 加载 png图片 透明变黑情况解决
处理图片压缩要使用Bitmap.CompressFormat.PNG 格式压缩
png显示黑色背景
问题:word打印的二维码png图片不能识别,画图板里面黑色的却可以识别,估计word能打bmp, 不能打png,然后测试使用cimage加载png图片的时候,画到单文档里面变黑了,然后百度,把修改好的代码写到下面void Ctest0413View::OnTest(){    // TODO: 在此添加命令处理程序代码    CClientDC dc(this);    CImage ci;  
去掉图片黑背景输出为透明png(算法和工具)
有时候你得到的图片不是透明的png而是加了黑背景的图(可能是:.jpg,.gif,.png等格式的图) 例如一个粒子效果的图:   多好的粒子效果,可惜它有黑背景。不处理一下,不好用。 经过移除黑背景处理为png后,变为:   这时候这个效果图片就可以方便的使用了。 那么如何实现黑背景移除,并生成透明的png呢? 算法如下: 首先从源带黑背景的
Java绘制PNG图片时的黑色背景问题
1. 生成png图片   int width = 400;   int height = 300;   // 创建BufferedImage对象   BufferedImage image = new BufferedImage(width, height,     BufferedImage.TYPE_INT_RGB);   // 获取
Android 使用imageLoader来加载显示图片
每天早晨醒来的第一件事是: 问一下自己 今天 的目标是什么。。。。
android 图片透明色变成黑色解决办法
原因是因为图片进行缓存到本地,再取出时,图片格式被压缩错误。 比如,原图为png的类型,但是 bmp.compress(Bitmap.CompressFormat.JPEG, 100, outputStream); 被默认为了JPEG。所以透明的地方肯定出现错误,比如变黑色。 所以在缓存图片时最好先进行文件名判断。 如下代码: if (!url.substri
Android中显示PNG图标背景变黑色
最近项目中遇到一个问题:就是从网络获取应用PNG图标后,显示到GridView中,发现图标透明的地方都变成了黑色?为什么呢?         个人习惯有问题先梳理一遍代码: 一、从网络异步下载图标并显示代码    class IconAsyncTask extends AsyncTask { private AdsInfo tAdsInfo; private ImageVi
php 压缩各格式图片,处理png格式图片背景黑色问题
//压缩图片 //$srcFile 文件名 //$percent压缩比 //$quality图片质量     function pictumb($srcFile,$percent,$quality){         $dstFile = $srcFile;//保留名字         //header('Content-Type: image/jpeg');         // 
Gif合成透明PNG变成黑色背景GIF问题解决
localAnimatedGifEncoder.setTransparent(Color.BLACK); localAnimatedGifEncoder.addFrame(rotatedBitmap); 针对AnimatedGifEncoder开源JAVA库。
下载保存的图片背景由透明变为黑色问题解决
bitmap压缩时如果采用CompressFormat.JPEG格式会将图片透明的背景转换为黑色,改为CompressFormat.PNG就ok了。 private void saveBitmap(Bitmap bitmap, int i) { File appDir = new File(Environment.getExternalStorageDirectory(),