|
|
|
|
|
для: sim5
(21.11.2008 в 20:06)
| | Это только эксперимент..что под руку попало... | |
|
|
|
|
|
|
|
для: serjinio
(21.11.2008 в 19:39)
| | А зачем такое изображение уменьшать? Или вы просто указывате изображению прозрачный цвет?
PS. Все потому, что в данном случае нужно просто скопировать это изображение (правда ради эксперемента, ибо смысла нет в этой операции), а не изменять размер. Посмотрите в фотошопе на маску исходного изобаражения. При копировании изображения, и при указании начальных координат копирования на подложке 0,0, копируемое изображение будет сдивнуто на 1 пикслеь вверх и вправо. При этом на копируемом изображении цвет черный останется (части контура дома), он не будет попадать в область маски (она только у подложки), что вы и принимаете за "остатки черного". | |
|
|
|
|
 18 Кб |
|
|
для: serjinio
(21.11.2008 в 19:39)
| | скрин | |
|
|
|
|
 216 байт |
|
|
для: sim5
(18.11.2008 в 08:55)
| | правда работает без ореола в ие, но на некоторых картинках вылезает черный фон подложки
оригинал и скрин присоединил | |
|
|
|
|
|
|
|
для: devil943
(19.11.2008 в 21:23)
| | GIf как Png уж никак не могут работать ;-) Другое дело, что вы можете все хранить в png формате, беда только в том, что прозрачность этого формата не понимает IE. | |
|
|
|
|
|
|
|
для: sim5
(18.11.2008 в 08:55)
| | Спасибо, гиф, как и пнг работают!
Мне кажется лучше эту тему как-то зарепить или сдлеать что-то типа фака по графическому модулю пхп, так как поюзав поиск, где нашел множетво тем про про прозрачности, в частности. | |
|
|
|
|
|
|
|
для: serjinio
(17.11.2008 в 12:00)
| | Спасибо, попробую. | |
|
|
|
|
|
|
|
для: serjinio
(17.11.2008 в 10:53)
| | Сохранение GIF изображения с прозрачностью, это значит GIF, а не PNG. И GIF можно уменьшить на лету и сохранить без ореола, а для этого нужно работать с индексированной палитрой:
<?
$wb = 60;
$hb = 60;
//шаблон
$in = imagecreatetruecolor($wb,$hb);
$black = imagecolorallocate ($in, 0, 0, 0);
//прозрачность
imagecolortransparent($in,$black);
$im = imagecreatefromgif('1.gif');
//узнаем число цветов в палитре
$palette = imagecolorstotal($im);
//преобразуем шаблон в индексированную палитру
imagetruecolortopalette($in, true, $palette);
//изменяем размер
$wd = imagesx($im);
$hd = imagesy($im);
imagecopyresized($in, $im, 0, 0, 0, 0, $wb, $hb, $wd, $hd);
//сохраняем в GIF
imagegif($in, 'small_1.gif');
|
| |
|
|
|
|
 63.3 Кб |
|
|
для: devil943
(16.11.2008 в 13:30)
| | Прозрачность для png
<?php
elseif($size_img[2]==3) $src_img=imagecreatefrompng($upfile);
{
// Прозрачность для PNG.
// Применяется для установки прозрачности изображений в формате PNG= true создается полноценный альфа-канал.
@imagesavealpha($dest_img, TRUE);
@$cc=imagecolorallocatealpha($dest_img, 255, 255, 255, 127);
// Производит заливку области внутри контура на изображении $dest_img ,
// $cc - идентификатор цвета.
imagefill($dest_img, 0, 0, $cc);
}
|
| |
|
|
|
|
 64 Кб |
|
|
для: devil943
(16.11.2008 в 13:30)
| |
<?
/* Создаем изображение GIF из файла */
elseif($size_img[2]==1)
// Прозрачность для GIF.
{
$src_img=imagecreatefromgif($upfile);
imagealphablending($dest_img, false);
imageSaveAlpha($dest_img, true);
//Записывает изображение $src_img на диск под именем $upfile в формате PNG.
imagepng($src_img, $upfile);
}
--------------------------------------------------------------
imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]);
if($size_img[2]==2) imagejpeg($dest_img, $save_path, $quality);
elseif($size_img[2]==1) imagepng($dest_img, $save_path);
elseif($size_img[2]==3) imagepng($dest_img, $save_path);
|
| |
|
|
|
|