lufy's legend

标题: getPixel获取不到绘制图形的填充颜色,求大神 [打印本页]

作者: ajhu    时间: 2017-2-21 00:40
标题: getPixel获取不到绘制图形的填充颜色,求大神
绘制的图形获取不到色值,rgba的值除了透明度能获取到,其他的值都是0,可是明明有颜色,求大神指导。

LInit(50, "legend", 800, 480, main);
function main () {
    var layer = new LSprite();
    layer.graphics.drawRect(1, "#000000", [0, 0, 100, 100], true, "#000000");
    layer.graphics.drawRect(1, "#FF0000", [100, 0, 100, 100], true, "#FF0000");
    //addChild(layer);
    var bitmapData = new LBitmapData(null, 0, 0, 500, 400);
    bitmapData.draw(layer);
    var bitmap = new LBitmap(bitmapData);
    addChild(bitmap);
    console.log(bitmapData.getPixel(59,50));
}

作者: lufy    时间: 2017-2-21 10:12
黑色当然都是0了啊
作者: ajhu    时间: 2017-2-21 13:58
lufy 发表于 2017-2-21 10:12
黑色当然都是0了啊

尴尬了。。。忽略了。

我做了个写的小程序,http://115.28.107.190/test/

现在的问题是我MouseMove的时候写的颜色,MouseUP获取不到,在MouseUP里面直接写drawArc缺能获取到,可以看上面的链接。老大能帮忙看看是什么问吗?我是做后端的,前端不是太懂,谢了
作者: lufy    时间: 2017-2-21 14:55
ajhu 发表于 2017-2-21 13:58
尴尬了。。。忽略了。

我做了个写的小程序,http://115.28.107.190/test/

getPixel和getPixels是操作像素,要注意lock和unlock,或者用LBitmapData.DATA_CANVAS,你两个都没有用
再者,即使用了上面都方法,也不能在mouse_move或者enter_frame中使用,如果说电脑上还算勉强可以的话,手机上运行,不出意外的话会直接卡死
作者: ajhu    时间: 2017-2-21 16:24
本帖最后由 ajhu 于 2017-2-21 16:25 编辑
lufy 发表于 2017-2-21 14:55
getPixel和getPixels是操作像素,要注意lock和unlock,或者用LBitmapData.DATA_CANVAS,你两个都没有用
再 ...

我是在mouse_up的时候去获取的,我是想通过获取色值去判断这个字是否填充到一定程度,也就是写的差不多了,如果不能同这种方法的,还有其他什么好的解决办法吗?我试过用碰撞,去监测几个点,但是我发现因为我用了InteractivePNG,整个字的那部分都有了碰撞,所以想通过几个点去监测碰撞就有问题
作者: lufy    时间: 2017-2-22 09:59
ajhu 发表于 2017-2-21 16:24
我是在mouse_up的时候去获取的,我是想通过获取色值去判断这个字是否填充到一定程度,也就是写的差不多了 ...

按照你这个做法,新建LBitmapData的时候用LBitmapData.DATA_CANVAS会好一些
画的时候,用Graphics来不停的画,会越画越卡,如果需要优化,可以考虑copyPixels或者putPixels
作者: ajhu    时间: 2017-2-22 11:18
lufy 发表于 2017-2-22 09:59
按照你这个做法,新建LBitmapData的时候用LBitmapData.DATA_CANVAS会好一些
画的时候,用Graphics来不停的 ...

好的,谢了,老大




欢迎光临 lufy's legend (http://lufylegend.com/forum/) Powered by Discuz! X2.5