Convert animated gif into PNG via PHP - php

The following is the code I'm using in order to convert the GIF file into a PNG file and save it into a variable:
$art = $_FILES["art"]["name"];
$art_ext = pathinfo($art, PATHINFO_EXTENSION);
if(strtoupper($art_ext)=="GIF"){
$art = imagepng(imagecreatefromstring(file_get_contents($_FILES["art"]["tmp_name"])), $art."png");
}
if($art!=""){
move_uploaded_file($art, "images/".$art );
}
Also, is there a method for converting an animated gif to a static gif?

This code should work. I assume you are following the example at Convert JPG/GIF image to PNG in PHP? To convert a gif to a static jif you could honestly just rename the png file you created with your current code to jif. All modern web-browsers and applications will treat a static jif and a png the same.

To get the first frame of an animated gif, you can use imagecreatefromgif and to save as a gif, you use imagegif, so it would be:
$art = imagegif(imagecreatefromgif($_FILES["art"]["tmp_name"]), $art."gif");

Related

Save all uploaded images (png, gif ) as jpg using php

How i can save all uploaded images as jpg using php.
i have code php to upload images like this
$upload_dir="../uploads/";
$filename = $_FILES['pic1']['name'];
$tmp_name=$_FILES['pic1']['tmp_name'];
$path=$upload_dir.$filename;
move_uploaded_file($tmp_name, $path);
i am using
$image_path=imagecreatefromjpeg($path);
`imagejpeg($image_path);`
but not work!.
This won't work because you tell PHP to create image from jpeg format and your uploaded file is gif or png. You could use imagecreatefromstring() function:
$image_path = imagecreatefromstring(file_get_contents($path));
imagejpeg($image_path);

Resize and Convert all uploading image into png format

First I want to tell you guys I'm a beginner to this. I'm developing a website, I want to allow users to upload any size of images in a variety of formats (GIF,JPEG,PNG).
And I want to re size the image and convert the image format into PNG. Im not inserting the image into database as BLOBs.
this is my code, But I'm uploading the image directly here, How to re size and convert to PNG:
$myImage = $_FILES['imgCover']['name'];
$response = mysql_query("INSERT INTO gallery (imagename) VALUE ('$myImage')");
if($response === true)
{
move_uploaded_file($_FILES['imgCover']['tmp_name'],"images/gallery/".$_FILES['imgCover']['name'])
}
Please help me.
Something like http://salman-w.blogspot.com/2008/10/resize-images-using-phpgd-library.html?
Just use png where its says jpeg, like
imagejpeg
etc.

How to open a .ico file in PHP?

I have tried to use php to caculate a image's avarage color.
So I use the php function: imagecolorat(), imagecreatefromstring()
This is a part of my code:
$fcontents = file_get_contents($imgname);
$im = #imagecreatefromstring($fcontents);
But I find it can read image successfully except .ico
How to deal with it?
Try https://github.com/lordelph/icofileloader
$loader = new Elphin\IcoFileLoader\IcoFileService;
$im = $loader->extractIcon('/path/to/icon.ico', 32, 32);
//$im is a GD image resource, so we could, for example, save this as a PNG
imagepng($im, '/path/to/output.png');
Function imagecreatefromstring() does not work with .ico - format: imagecreatefromstring() returns an image identifier representing the image obtained from the given image. These types will be automatically detected if your build of PHP supports them: JPEG, PNG, GIF, WBMP, and GD2.
Apparently, it is possible using this class
http://www.phpclasses.org/package/2369-PHP-Extract-graphics-from-ico-files-into-PNG-images.html

PHP Image Convert

In my web app users are allowed to upload images as their photos. How can I convert different image extensions to JPG? Input files are JPG, PNG or GIF.
Personally, I prefer Image Magick over GD. It's a lot better if you're dealing with large images too; you can run into memory allocation issues with GD.
With php, you can convert any image to an other using imagepng, imagejpeg, imagegif :
imagepng(imagecreatefromstring(file_get_contents($input)), 'output.png');
In this example, it will save the uploaded image in png with the path 'output.png'
You can use PHP GD.
For anybody who would want to get the binary out of a temporary file, here is my solution:
<?php
$temp = tmpfile();
imagepng(imagecreatefromstring($imgBinary), $temp);
$pathFile = stream_get_meta_data($temp)['uri']; // eg: /tmp/phpFx0513a
$pngBin = file_get_contents($pathFile)
?>

Convert jpg image to gif, png & bmp format using PHP

How can I convert a single jpg image into 3 different image formats, gif, png and bmp, using PHP?
You first create an image object out of your file with imagecreatefromjpeg(). You then dump that object into different formats (using imagegif() for example):
$imageObject = imagecreatefromjpeg($imageFile);
imagegif($imageObject, $imageFile . '.gif');
imagepng($imageObject, $imageFile . '.png');
imagewbmp($imageObject, $imageFile . '.bmp');
Use libGD — http://www.php.net/manual/en/book.image.php
I've set up a new opensource project on Github that allows reading and saving of BMP files (actual BMP files, not wbmp), and other file formats, in PHP. It's nice and easy to use.
The project is called PHP Image Magician.

Categories