Php ile resim düzenleme.
5
●156
- 14-12-2023, 13:23:03Kimlik doğrulama veya yönetimden onay bekliyor.Arkadaşlar merhaba elimde bir resim var. 1300 x 450 boyutunda. Bunun tam ortasına yüklediğim resmi 450x 450 boyutunda oval bir şekilde kesip yerleştirip sonra göstermesini istiyorum. Fakat yapamadım. Bununla ilgili bir kaynak öneriniz var mı?
- 14-12-2023, 13:56:17Ekledim ama oval yapamadım:
<?php $ana_resim_yolu = 'resim.png'; $ana_resim = imagecreatefromjpeg($ana_resim_yolu); $oval_resim_yolu = 'oval.png'; $oval_resim = imagecreatefrompng($oval_resim_yolu); $oval_genislik = imagesx($oval_resim); $oval_yukseklik = imagesy($oval_resim); $ana_genislik = imagesx($ana_resim); $ana_yukseklik = imagesy($ana_resim); $x = ($ana_genislik - $oval_genislik) / 2; $y = ($ana_yukseklik - $oval_yukseklik) / 2; imagecopy($ana_resim, $oval_resim, $x, $y, 0, 0, $oval_genislik, $oval_yukseklik); header('Content-Type: image/jpeg'); imagejpeg($ana_resim); imagedestroy($ana_resim); imagedestroy($oval_resim); ?>biraz araştırdım resmi oval yaptım ama tam istediğim gibi olmadı:
<?php $resim_yolu = 'oval.png'; $resim = imagecreatefrompng($resim_yolu); // eğer jpeg bir resim kullanıyorsan imagecreatefromjpeg fonksiyonunu kullan $genislik = imagesx($resim); $yükseklik = imagesy($resim); $mask_genislik = $genislik; $mask_yukseklik = $yükseklik; $mask = imagecreatetruecolor($mask_genislik, $mask_yukseklik); $mask_rengi = imagecolorallocate($mask, 255, 255, 255); imagefilledellipse($mask, $mask_genislik / 2, $mask_yukseklik / 2, $mask_genislik, $mask_yukseklik, $mask_rengi); imagecolortransparent($mask, $mask_rengi); $resim_maskeli = imagecreatetruecolor($genislik, $yükseklik); imagecopymerge($resim_maskeli, $resim, 0, 0, 0, 0, $genislik, $yükseklik, 100); imagecopy($resim_maskeli, $mask, 0, 0, 0, 0, $genislik, $yükseklik); header('Content-Type: image/png'); imagepng($resim_maskeli); imagedestroy($resim); imagedestroy($mask); imagedestroy($resim_maskeli); ?> - 14-12-2023, 15:04:38https://github.com/claviska/SimpleImage
bu package da bulunan overlay fonksiyonu ile kolayca yapabilirsiniz