c语言编程笔录

首页 >   > 笔记大全

笔记大全

PS 没有 PNG 格式如何办

更新时间:2023-12-05

关于没有PNG格式的处理方法

1.问题描述

在很多场景下,我们可能会遇到缺少PNG格式的图片。在这种情况下,我们应该如何处理呢?

2.解决方案

我们可以使用第三方库来实现将其他格式的图片转换为PNG格式。比如GraphicsMagick、ImageMagick、gm等。

	// 使用GraphicsMagick将JPG图片转换为PNG图片
	var gm=require('gm');
	gm("input.jpg")
		.setFormat("png")
		.write("output.png", function (err) {
			if (!err) console.log('done');
		});
	

除此之外,我们也可以使用HTML5的canvas将图片转换为PNG格式。

	var canvas=document.createElement('canvas');
	var ctx=canvas.getContext('2d');

	var img=new Image();
	img.onload=function () {
		canvas.width=img.width;
		canvas.height=img.height;
		ctx.drawImage(img, 0, 0);

		var pngData=canvas.toDataURL("image/png");
		console.log(pngData);
	};
	img.src='input.jpg';
	

3.代码示例

第一种方法的代码示例:

	var gm=require('gm');
	gm("input.jpg")
		.setFormat("png")
		.write("output.png", function (err) {
			if (!err) console.log('done');
		});
	

第二种方法的代码示例:

	var canvas=document.createElement('canvas');
	var ctx=canvas.getContext('2d');

	var img=new Image();
	img.onload=function () {
		canvas.width=img.width;
		canvas.height=img.height;
		ctx.drawImage(img, 0, 0);

		var pngData=canvas.toDataURL("image/png");
		console.log(pngData);
	};
	img.src='input.jpg';	
	

4.总结

虽然没有PNG格式的图片可能会给我们带来麻烦,但我们可以采取上述的方法来进行图片格式转换,从而避免出现不必要的问题。