Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to rotate image in php?

I have a function that generates text that fits the lower part of a circle. Because I do not know any other way that I can make the function fit the upper part of the circle so that it faces me, I want to rotate the image, write on it, rotate it back and again write on it. How can I do that without changing the name of the image?

I have tried something like this :

<?php
function  create_image()
{

$im = @imagecreate(140, 140)or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 255, 255, 255);

imageellipse ( $im , $cx , $cy , $size*2 , $size*2 , $black );

write($im,$cx,$cy,$size,$s,$e,$black,$text1,$font,$size,$pad);
imagerotate($im, 180,0);
write($im,$cx,$cy,$size,$s,$e,$black,$text2,$font,$size,$pad);
imagerotate($im, 180,0);

imagepng($im,"image.png");
imagedestroy($im);  

}
?>

<?php
create_image();
print "<img src=image.png?".date("U").">";
?>

But it doesn't work. It doesn't rotate the image.

Can you please help me?

Thanx !

like image 722
Cristina Ursu Avatar asked Jan 15 '23 01:01

Cristina Ursu


2 Answers

Why dont you just take the normal image and add some css to it

CSS

.yourImage {
 -webkit-transform: rotate(-90deg);
 -moz-transform: rotate(-90deg);
 filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}

HTML

<img class="yourImage" src="originalImage.jpg">
like image 183
toxicate20 Avatar answered Jan 25 '23 02:01

toxicate20


Not sure why you need to rotate twice .. but this is what your code should look like

function create_image($img) {
    $im = @imagecreatefrompng($img) or die("Cannot Initialize new GD image stream");
    $rotate = imagerotate($im, 180, 0);
    imagepng($rotate);
    imagedestroy($rotate);
    imagedestroy($im);
}

header('Content-Type: image/png');
$image = "a.png";
create_image($image);
like image 37
Baba Avatar answered Jan 25 '23 04:01

Baba