29-07-2008, 00:35
|
|
|
חבר מתאריך: 08.07.08
הודעות: 16
|
|
עזרה בעבודה עם GD
המצב קשה :|
יש לי פונקציה שמקבלת תמונה מקטינה אותה ומסובבת אותה בזווית רנדומלית...
להלן הפונקציה:
קוד PHP:
function rotate($source) {
//create new image from exsiting file:
$image = imagecreatefromjpeg($source);
//get height and width of the original file:
$width = imagesx($image);
$height = imagesy($image);
//randoom degree for rotation
$degrees = rand(-15,15);
//set height and width for the new file:
$new_width = 200;
$new_height = 200;
//create truecolor image and resample with original image
$new_image = imagecreatetruecolor($new_width, $new_height);
imagecolorallocate($new_image, 255, 255, 254);
ImageColorTransparent($new_image, ImageColorAllocate($new_image, 0, 0, 0));
ImageAlphaBlending($new_image, false);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
//rotate new image
$new_image = imagerotate($new_image, $degrees, 0,1);
//display
header("Content-type: image/png");
imagejpeg ($new_image);
//destroy image
imagedestroy($image);
}
פעם ראשונה שאני עובד עם GD ואני מסתבך עם זה לאללה
כמה דברים לא מתפקדים כאן
א. הסיבוב של התמונה מוריד דרסטית את האיכות - האם יש דרך להתגבר על זה ?
ב. בעת הסיבוב של התמונה מופיע רקע שחור מאחוריה - קראתי אינספור דיונים פה בפורום על עניין הרקע הזה ואני פשוט לא מצליח להוריד את זה !
ג. איך ניתן להלביש 2 תמונות בגדלים שונים אחת על השניה להפוך אותם לתמונה אחת ולסובב אותן ביחד בלי לפגוע באיכות
ד. איך אני משתמש בפונקציה הזאת בתוך טג HTML IMG
כלומר שזה יעבוד בסגנון הזה
[/CODE]<img src="image.php?source=mashu/mashu.jpg" />[CODE]
|