问题描述
我想获取一个 PSD 文件并将一种颜色替换为另一种颜色,我有一个部分使用 minimagick 工作,但是在我的输出文件中,所有图层都被展平为一个。
有没有办法直接编辑文件来更改颜色,而不是将其转换为像素,更改这些颜色,然后写回新文件?
这是我尝试的:
psd_image = MiniMagick::Image.open('PSD_IMAGE_URL')
changed_pixels = []
psd_image.format "image/vnd.adobe.photoshop"
psd_image.layers.each do |layer|
pixels = layer.get_pixels
pixels.each do |row|
row.each do |pixel|
if pixel == original_color # i.e [43,68,35]
changed_pixels.append(new_color) # i.e. [255,247,27]
else
changed_pixels.append(pixel)
end
end
end
end
image = MiniMagick::Image.get_image_from_pixels(changed_pixels,[psd_image.width,psd_image.height],'rgb',8,'psd')
image.write('public/output.psd')
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)