Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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
使用PHP转换图像而不使用ImageMagick_Php_Image_Png_Jpeg - Fatal编程技术网

使用PHP转换图像而不使用ImageMagick

使用PHP转换图像而不使用ImageMagick,php,image,png,jpeg,Php,Image,Png,Jpeg,我需要将.JPG、.JPEG、.JPE、.GIF等从我的PHP网页转换为.PNG,而无需使用ImageMagick。有什么想法吗 以下是我找到并尝试使用的代码: <?php header("content-type: image/png"); $original_filename = $_HTTP_POST_FILES['uploaded_file']; imagepng($original_filename,'border/testconvert.png',9); ?> 谁

我需要将.JPG、.JPEG、.JPE、.GIF等从我的PHP网页转换为.PNG,而无需使用ImageMagick。有什么想法吗


以下是我找到并尝试使用的代码:

<?php
header("content-type: image/png");
$original_filename = $_HTTP_POST_FILES['uploaded_file']; 
imagepng($original_filename,'border/testconvert.png',9);

?>

谁需要ImageMagick?看看使用gd的内置功能

编辑基本示例:

<?php
 $filename = "myfolder/test.jpg";
 $jpg = @imagecreatefromjpeg($filename);
 if ($jpg)
 {
   header("Content-type: image/png");
   imagepng($jpg);
   imagedestroy($jpg);
   exit;
 }

 // JPEG couldn't be loaded, maybe show a default image
?>

试试这样的

告诉我是否有效


祝你好运

只有一个:GD。我一直在看GD文档,但没有弄清楚。我已经尝试了一些我在网上找到的例子,我将编辑我的原始帖子并附加代码。关于这一点,我已经有一个问题:你不能仅仅获取一个文件路径并将其制作成PNG图像。字符串!=Imagegd也不总是可用。您需要使用
——使用gd
编译PHP。我可以使用gd,我已经将它用于其他图像处理任务。我只是不知道如何转换图像。如果您允许使用多种文件类型,则必须设置一个检查以查看扩展名,然后运行一个开关以根据其文件类型加载图像,或者如果图像与任何内容都不匹配,则只加载一个默认图像。这样就可以了!谢谢Re the@--最好完全关闭页面的错误(
error\u reporting(0);
)。即使没有错误发生,抑制单个错误也会显著降低性能。这与第一个示例中使用的逻辑(ish)相同,是的。。它工作得很好!但是,你会碰巧知道如何将.BMP转换为.PNG吗?不会,但你真的应该开始一个关于这个特定主题的问题,因为这可能非常有趣。祝你好运
function jpg2png($originalFile, $outputFile, $quality) {
    $image = imagecreatefromjpeg($originalFile);
    imagepng($image, $outputFile, $quality);
    imagedestroy($image);
}