Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 将应用程序脚本Blob从PNG转换为JPEG时出错_Image_Image Processing_Google Apps Script_Blob - Fatal编程技术网

Image 将应用程序脚本Blob从PNG转换为JPEG时出错

Image 将应用程序脚本Blob从PNG转换为JPEG时出错,image,image-processing,google-apps-script,blob,Image,Image Processing,Google Apps Script,Blob,我正在尝试下载应用程序脚本中的PNG图像,将其转换为JPEG,并为这个新的JPEG生成一个数据URI 功能测试(){ var blob=UrlFetchApp.fetch('https://what-if.xkcd.com/imgs/a/156/setup.png').getBlob(); var jpeg=blob.getAs(“图像/jpeg”); var uri='data:image/jpeg;base64'+Utilities.base64Encode(jpeg.getBytes())

我正在尝试下载应用程序脚本中的PNG图像,将其转换为JPEG,并为这个新的JPEG生成一个数据URI

功能测试(){
var blob=UrlFetchApp.fetch('https://what-if.xkcd.com/imgs/a/156/setup.png').getBlob();
var jpeg=blob.getAs(“图像/jpeg”);
var uri='data:image/jpeg;base64'+Utilities.base64Encode(jpeg.getBytes());
Logger.log(uri);
}
当我运行这个时,我得到:
您试图使用的图像无效或已损坏。

甚至像:

功能测试(){
var bytes=UrlFetchApp.fetch('https://what-if.xkcd.com/imgs/a/156/setup.png').getBlob().getBytes();
var jpeg=Utilities.newBlob(字节,MimeType.PNG).getAs(MimeType.jpeg);
DriveApp.createFile(jpeg);
}

不起作用。

您的代码是正确的。这可能是一个bug,但它是特定于您正在使用的文件的,因此也可能是文件中的bug(即,文件确实可能以某种方式损坏)。或者它使用了一些谷歌无法处理的PNG格式的特性。将URL替换为另一个URL,例如

var blob = UrlFetchApp.fetch('https://cdn.sstatic.net/Sites/mathematica/img/logo@2.png').getBlob();

这两个函数都按预期工作。

您的代码是正确的。这可能是一个bug,但它是特定于您正在使用的文件的,因此也可能是文件中的bug(即,文件确实可能以某种方式损坏)。或者它使用了一些谷歌无法处理的PNG格式的特性。将URL替换为另一个URL,例如

var blob = UrlFetchApp.fetch('https://cdn.sstatic.net/Sites/mathematica/img/logo@2.png').getBlob();

这两个功能都能正常工作。

我很确定这是谷歌方面的一个缺陷,所以我提出了一个问题:请启动!★我很确定这是谷歌方面的一个错误,所以我提出了一个问题:请明星!★我不知道这是否是有用的信息。在我的环境中,当我使用包含alpha通道的PNG文件时,会发生这种错误。如果PNG文件没有alpha通道,则不会发生错误。有趣。有没有办法在应用程序脚本blob中去掉PNG的透明度?我不知道这是否是有用的信息。在我的环境中,当我使用包含alpha通道的PNG文件时,会发生这种错误。如果PNG文件没有alpha通道,则不会发生错误。有趣。有没有一种方法可以去除应用程序脚本blob中PNG的透明度?