FlashBuilder4.7读取FlashCS导出SWC的JPG图片为空的问题
2016-10-31 20:06
225 查看
事因
平常我们做页游项目的时候,比较少用到从FlashCS里导出SWC里面的图片,就算有也是Png,jsp是非常少的了。对于习惯使用FlashBuilder的人来说,如果要用图片,就直接采用嵌入图片了。[Embed(source="assets/play.png")]
所以这次做个小游戏的时候,因为贪图方便,把资源全部做到FlashCS里面,然后生成swc,最后在FlashBuilder里引用。结果就出现问题了,发现使用jpg的时候,竟然是一片空白,然后输出宽和高,发现是0
查找出现原因
首先要考虑一下是怎么出现这个问题,得想出解决方案。1. 刚开始怀疑是FlashCS导出SWC的问题,然后把SWF解压,提取出library.swf,通过反变异软件查看,图片是在里面,而且是存在的
2. 既然SWC没问题(其中也检查了版本号,也在合理范围之类),那是不是FlkashBulder的问题呢?4.7和4.6是区别的,于是用FlashBuilder4.6测试SWC,结果是正常的。那么就很明显了。FlashBuilder的环境下才有问题。
那么问题来,因为不想轻易换编辑器,再次考虑SWC的问题,是不是图片导出格式有问题。
所以再次比较了一下可以正常使用的图片,最终发现一种可以显示出来的方式。
解决方案
这里只是在FB4.7下面的解决方案,是在FlashCS里修改图片到处方式。在FlashCS的库里,设置选中图片的属性,在压缩方式那里,从JPG修改为PNG,问题得到解决。
测试代码例子
为了完整表达这个东西,我写一个相关的测试例子。RoleImg 是直接导入的png图片
ChapterJpg 是直接导入的jpg图片
ChapterPng 是导入后修该为png的图片
运行结果是:
FlashBuilder4.6
FlashBuilder4.7
测试代码:
/** * * @author sodaChen */ [SWF(width="572", height="510", frameRate="30", backgroundColor="#ffffff")] public class TestSwcImg extends Sprite { public function TestSwcImg() { //直接导入的jpg addBitmap("ChapterJpg",new ChapterPng(),0,0); //导入的jpg,设置为png格式的 addBitmap("ChapterJpg",new ChapterJpg(),0,255); //直接导入的png addBitmap("role",new RoleImg(),200,0); } private function addBitmap(key:String,bitmapData:BitmapData,x:int,y:int):void { trace(key + "width:" + bitmapData.width); var bitmap:Bitmap = new Bitmap(bitmapData); bitmap.x = x; bitmap.y = y; addChild(bitmap); } }
相关文章推荐
- WinCE5.0的 Imaging API 显示JPG BMP PNG 图片问题
- Java 使用Freemarker导出word 文档,解决当一段内容中既有文字又有图片的问题
- Matlab导出eps或jpg图片的N种方法(很全哦)
- cocos2dx 解决texture packer导出的图片程序中拼接有黑边的问题
- 将PPT内容导出为JPG图片
- QT加载jpg、jpeg、gif图片不可见问题解决
- Linux下highcharts导出图片乱码问题
- 根据已绘好图的DC,用GDI+导出JPG图片
- GEF常见问题8:导出到图片
- 显示 jpg、png、gif 图片及 gif 动画 - 回复 "格兰特" 的问题
- GEF常见问题8:导出到图片
- JPEG解码,解决JPG图片显示成花屏的问题
- 关于eclipse导出Java项目形成的jar包中没有图片以及图片显示问题
- java项目导出jar时图片等资源无法加载问题
- eclipse导出到androidstudio .9png图片报错问题解决(转自网友)
- iOS下载JPG图片会被压缩问题
- Eclipse 导出包时无法识别图片的问题
- JPG图片上传在IE下的问题
- AutoCAD常用技巧(字体、颜色、线条、导出JPG图片)
- 关于Ireport导出HTML图片不展示问题