ImageCopyrees采样在PHP - 预升高的alpha问题
-
12-11-2019 - |
题
我对使用alpha值的缓冲区有imageCopySpled的问题。显然,算法Premliplipies在过滤之前的像素alpha值,这导致黑色边框arrount对象。
重现步骤:
-
在RGB部分中拍摄完全白色的图像,具有(抗锯齿!!)白圆圈(使用圆圈,而不是一个方形!)在alpha部分的黑色背景上(所以Alpha Part将主要是完全是白色和完全黑色的像素,以及由于抗锯齿引起的圆的边界上的一些渐变像素 - 这意味着输入图像不会预升降 - 它是直/未数据的,因为图像的RGB部分是完全白)。
使用ImageCopyreSampled 缩小了一半的图像
-
在完全白色的图像上撰写结果
我期待的是什么: 完全白象
我得到的是什么: 浅灰色的边框争论圈子的轮廓
我很确定这是由于ScaleDown算法中的预热alpha(算法将像素alpha值乘以它的RGB值来计算新的RGB值 - 因此是白色像素将变为灰色)
有谁对此是一个工作的工作?
解决方案
不隶属于 StackOverflow