更新一下,自己查了下解决了,方案是读取png图片每个像素点信息,然后判断透明度情况,如果是全透明就跳过,点这里下载git代码,下载代码后,运行 node index.js 会输出图片的rect 范围(需要nodjs环境,忽略其他输出,渣渣代码请无视)
怎么获取png图片不含透明背景的实际区域呢?需要自己获取png的实际图片区域,就像Creator那样。有个需求需要用到,找了半天没找到有用的,所以来问问。
注意,需要自己实现,不能用Creator的那个贴图工具;另外我试过,通过cc.loader.load 加载的png图片,用spriteFrame.getRect()获取到的大小是原图的大小,不是除去透明区域的实际大小。
像下面这个带透明区域的png图片,原图大小是200*200,实际图片大小是94*94,怎么自己用代码读取png的实际图片区域呢?
<img src="/uploads/default/original/3X/8/b/8b46498f62eb82f752ac8efbda6a6625395e573f.png" width="417" height="499">
<img src="/uploads/default/original/3X/8/f/8fef703ed4e0bcec42fd206a771fdda58d96f76e.png" width="690" height="339">
这是原图(是带有透明区域的):
<img src="/uploads/default/original/3X/2/f/2f73b609ddf71f4408cb76bfafdd176c2dd28654.png" width="200" height="200">