广告:H5 复刻版明日方舟游戏主界面,源码:mashirozx/arknights-ui,求 STAR!!顺便求波好友
Mashiro#3731
~
明日方舟拆包以后发现立绘被分成了两张图,一个储存的是 RGB 通道的信息,另一个储存的是 Alpha 通道的信息(实际还有一圈阴影效果),因此需要把两个通道合并,下面分别是两个通道的原图以及用后面的代码合并出来的立绘,点击图片可以看大图。
RGB 通道 | Alpha 通道 | 合并结果 |
---|---|---|
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
逆向出来的立绘素材都上传到这里(提取密码: U9HIc)了,感谢 @momo296859251 帮忙整理文件。
这是合并单张立绘的代码:
from PIL import Image
name = 'char_101_sora_2'
image = name+'.png'
mask = name+'[alpha].png'
img = Image.open(image)
mas = Image.open(mask)
pixdata_img = img.load()
pixdata_mas = mas.load()
for y in range(mas.size[1]):
for x in range(mas.size[0]):
pixdata_img[x, y] = (pixdata_img[x, y][0], pixdata_img[x, y][1], pixdata_img[x, y][2], pixdata_mas[x, y][2])
img.show()
「樱花庄的白猫」原创文章:《PIL 合并 RGB 通道图与 Alpha 通道图》,转载请保留出处!https://2heng.xin/2019/06/04/pil-merge-of-two-images-with-alpha-channels/
Q.E.D.
Comments | 33 条评论
感觉两个 for 循环效率不会高, 可以试试
img.putalpha(mas.convert('L'))
✌(̿▀̿ ̿Ĺ̯̿̿▀̿ ̿)✌
素材好像没了(〜 ̄△ ̄)〜
厉害!谢谢分享
用node也实现了一个混合通道的小工具
不知道大佬有没有遇到彩色图和alpha通道图大小不一样的情况,有时候彩色图是20482048的,alpha通道图是10241024的
(写评论的时候突然想到了css的mask
那个展示Github项目的卡片是新做的吗,tql
@Wildwizard 是的!
这个代码区域放大插件是什么呀,方便说下嘛。
@w4ctech fancybox,Sakura已经集成
我想知道怎么拆包。。。。。
空的合并结果那张图,点开以后是普通的立绘,不是精二的立绘(:з」∠)
@⊕Agony﹏xu 发广告
(〜 ̄△ ̄)〜
("▔□▔)/
日常友情互访