关于Flex Image控件画图的问题,我也碰到了,就是导入的图片,无法对他进行画图操作。 5
或者是画的图出现在了导入的图片的背后,因为是Flex新手,不知道改如何解决,希望可以帮帮我,谢谢!希望可以具体一些告诉我,比较着急!谢谢大家~~因为刚开始用百度知道,没有...
或者是画的图出现在了导入的图片的背后,因为是Flex新手,不知道改如何解决,希望可以帮帮我,谢谢!
希望可以具体一些告诉我,比较着急!谢谢大家~~因为刚开始用百度知道,没有多少分给大家,以后补给大家!别嫌分少不回答啊!真的很着急!感谢大家! 展开
希望可以具体一些告诉我,比较着急!谢谢大家~~因为刚开始用百度知道,没有多少分给大家,以后补给大家!别嫌分少不回答啊!真的很着急!感谢大家! 展开
展开全部
因为如果你直接用Graphics来画图的话,其实他是只能做为背景来显示的,也就是说所有的子对象都会在他之上。所以你导入的一个图片其实也是属于一个子对象,就会覆盖自己画的图。
解决方法我个人觉得引入分层的概念会比较容易解决这样的问题。具体的做法就是你目前用来导入图片和画图的Sprite(可能是其他类对象)只作为容器用,然后要想实现画图的话就在其里面加入子视图(如加入一个新的Sprite)来进行绘图其实就可以解决了。要想让自己画的图在导入图之上只要纯粹地交换一下深度即可(使用容器Sprite的swapChildren或者swapChildIndex方法)。
解决方法我个人觉得引入分层的概念会比较容易解决这样的问题。具体的做法就是你目前用来导入图片和画图的Sprite(可能是其他类对象)只作为容器用,然后要想实现画图的话就在其里面加入子视图(如加入一个新的Sprite)来进行绘图其实就可以解决了。要想让自己画的图在导入图之上只要纯粹地交换一下深度即可(使用容器Sprite的swapChildren或者swapChildIndex方法)。
来自:求助得到的回答
展开全部
1.先上传加载图片,等待加载完成
2.转化成位图
var p:Bitmap=img.content as Bitmap;
var bpa:BitmapData=new BitmapData(img.contentWidth,img.contentHeight,true,0x00000000);
3.操作像素
for(var a:Number=0;a<w;a++){
for(var b:Number=0;b<h;b++){
var color:uint=bmd.getPixel32(a,b);
var colorMode:uint=bmd2.getPixel32(a,b);
var c:String=colorMode.toString(16);
var colorStr:String = "000000" + c;
colorStr=colorStr.substr(colorStr.length - 6);
if(colorStr=="000000"){
bpa.setPixel32(a,b,0x60ff0000);
}else if(colorStr=="ec1b23"){
bpa.setPixel32(a,b,color);
}else{
bpa.setPixel32(a,b,0x100000000);
}
}
}
4.显示绘制好的图片
okimg.source=new Bitmap(bpa);
2.转化成位图
var p:Bitmap=img.content as Bitmap;
var bpa:BitmapData=new BitmapData(img.contentWidth,img.contentHeight,true,0x00000000);
3.操作像素
for(var a:Number=0;a<w;a++){
for(var b:Number=0;b<h;b++){
var color:uint=bmd.getPixel32(a,b);
var colorMode:uint=bmd2.getPixel32(a,b);
var c:String=colorMode.toString(16);
var colorStr:String = "000000" + c;
colorStr=colorStr.substr(colorStr.length - 6);
if(colorStr=="000000"){
bpa.setPixel32(a,b,0x60ff0000);
}else if(colorStr=="ec1b23"){
bpa.setPixel32(a,b,color);
}else{
bpa.setPixel32(a,b,0x100000000);
}
}
}
4.显示绘制好的图片
okimg.source=new Bitmap(bpa);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var s:Sprite=new Sprite;
s.graphics.moveTo()....
s.graphics.lineTo()....
image.addChildAt(s,100);//image就是你Image组件的id,100表示第100层
这个确定可以!
s.graphics.moveTo()....
s.graphics.lineTo()....
image.addChildAt(s,100);//image就是你Image组件的id,100表示第100层
这个确定可以!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询