|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2003-06-12 14:33 UTC] iliaa@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 14:00:01 2025 UTC |
Description: ------------ When rotating an image which is taller-than-wide through an angle > 225 and <= 315 degrees, only a square portion of the image is copied. The remainder is black. ext/libgd/gd.c has a bug in gdImageRotate270: for (uY = 0; uY<src->sx; uY++) { for (uX = 0; uX<src->sx; uX++) { uY and uX both have a range of src->sx, so only a square region is copied. The first line should be: for (uY = 0; uY<src->sy; uY++) { Reproduce code: --------------- <script language="PHP"> // June 12, 2003 Tom Robinson // Display a 30x50 yellow rectangle, rotated 270 degrees CCW. $im = ImageCreateTrueColor(30,50); imagefill($im,0,0,16777215-255); $im = imagerotate($im,270,255); header("Content-type: image/png"); imagepng($im); </script> Expected result: ---------------- See a yellow rectangle. Actual result: -------------- See a rectangle with a yellow square and the rest is black.