photoshop吧 关注:1,247,513贴子:5,231,840
  • 6回复贴,共1

【BUG】透明色RGB值设置

取消只看楼主收藏回复

做一张用于纹理映射的图,当alpha通道为0的时候,需要RGB值为零。
虽然A通道为0时啥颜色看起来都一样,但在实际使用中如果透明色上有RGB值就会变成可见的色块,恰好PS又把A为0像素的RGB值都置为了255。
就像下面这张图(颜色排列为RGBA8,每四字节一个像素)

可以看到当A通道(3、7、B、F列)为0时其他位上都是FF。
而我需要这样的数据:

如果A为0,则整个像素为0。
保存为png、导出png、导出web格式、设置颜色配置等方法都试过了,只能导出图1那种不合格的数据。
已知在PS中能导出最接近图2数据的办法是新建一个透明度为1%的黑色图层...然而还是不透明。
目前自己写了个程序对文件进行二次处理可以达到目的,但我想在PS中导出能直接用的图,网上又没查到一丁点信息,所以特来请教各位司机


IP属地:广东1楼2018-05-07 13:14回复
    (这么冷门的问题估计会沉)


    IP属地:广东本楼含有高级字体2楼2018-05-07 13:15
    回复
      @菊九九
      新建256*256黑色背景图像,选个区按del,再用铅笔再左上角打个1像素的黑点做参照

      存储为png图片,用图中的程序检测。如果符合要求,会输出o,否则输出x。如果不是32位图像则输出n,之后将图像数据直接保存到原文件名+.raw的文件中。

      PS导出的PNG:


      IP属地:广东7楼2018-05-07 18:14
      回复
        有意思的是围着黑点一圈像素的RGBA值都是0,而透明与黑色背景交界的部分却还是老样子


        IP属地:广东来自Android客户端8楼2018-05-07 18:28
        收起回复
          @菊九九 还是叉,但是像素好像有点古怪...
          左上是黑块,按理像素值是从00 00 00 FF(完全不透明纯黑)开始的,但实际却是FF FF FF 00(完全透明纯白)


          IP属地:广东13楼2018-05-07 20:00
          回复
            按10楼步骤保存的PNG:


            IP属地:广东15楼2018-05-07 20:05
            回复(3)
              @菊九九 这个可以,输出o


              IP属地:广东17楼2018-05-07 20:10
              回复