我对编程比较陌生,一直在研究一个生成Julia集合图像的小程序,并将它们上传到我的Twitter帐户。实际的图像是作为PPM文件在C中创建的,然后Python3脚本将打开并保存为PNG文件,然后将其上传到Twitter。这很好,除了在Twitter上这个图像是一个JPEG,并且有很多文物。为什么Twitter会将我用C和Python3制作的图像从PNG转换为JPEG?
我用ImageMagick的标识-verbose来比较我的PNG图像和另一个在互联网上的图像。我发现的主要区别是我的图像有“Type:Pallete”,另一个PNG有“Type:TrueColorAlpha”。
我发现其他人在网上说,通过改变一个像素的透明度,Twitter没有将PNG转换为JPEG格式,但是我很难做到这一点。
的我的C代码创建的PPM文件的部分如下:
FILE *f = fopen("julia.ppm", "wb);
fprintf(f, "P6\n %i 255\n", size, size); /*Size is an int defined previously*/
for(i=0; i<size; i++) {
for(j=0; j<size; j++) {
fputc(image[i][j],f);
fputc(0, f);
fputc(0, f);
}
}
fclose(f);
“图像”是一个尺寸大小*阵列用0至中的每个元素255的值。
是把它变成一个PNG我Python3代码如下
import tweepy
from PIL import Image, ImageEnhance
#Twitter Info#
im = Image.open('julia.ppm')
enhancer = ImageEnhance.Brightness(im)
im = enhancer.enhance(1.5)
im.save('julia.png')
api.update_with_media('julia.png')
我希望能够上传图片到Twitter和它留(如果可能)的PNG文件。任何帮助将不胜感激。
谢谢!