Skip to content

Задача: на лету обрезать изображение, чтобы оно было в кружочке.

Стандартная библиотека, идущая в комплекте с цмс-кой, обрезала. Но делала это не совсем кошерно. Обрезанную часть заполнян белый цвет. А нужно чтобы там была прозрачность.

Весь день ипался над прозрачным фоном, в конце вспомнил что у формата jpeg нет и не может быть альфа-канала блеать. Нужно для начала в png сконвертировать штоле =)

UPD: После мучений, когда уже немного начал понимать как работать с gd, в интернетах был найден способ взять изображение, засунуть его в круг и сделать обрезанные края прозрачными.

UPD2: Добавлено сглаживание изображения. Сглаживание достигается масштабированием.

Вот она, рыба моей мечты:

function img_circle($file_name = false, $param = 20){
$err = true;
$image = imagecreatefromjpeg($file_name);

$inCore = cmsCore::getInstance();
$cfg = $inCore->loadComponentConfig('users');
$width=$cfg['medw'];
$height=$cfg['medh'];

if($image){
$err = false;
}
if(!$err){

$x=$width ;
$y=$height;
$img2 = imagecreatetruecolor($x, $y);
$bg = imagecolorallocate($img2, 255, 255, 255);
imagefill($img2, 0, 0, $bg);
$e = imagecolorallocate($img2, 0, 0, 0);
$r = $x <= $y ? $x : $y;

imagefilledellipse($img2, ($x/2), ($y/2), $r, $r, $e);
imagecolortransparent($img2, $e);
imagecopymerge($image, $img2, 0, 0, 0, 0, $x, $y, 100);

imagecolortransparent($image, $bg);

$W=$cfg['medw'];
$H=$cfg['medh'];

// Исходный код построения карты России пропущен.
// Смотрите урок №8

$img3=imagecreatetruecolor($W/2,$H/2);
imagecolortransparent($img3, $bg);

imagecopyresampled($img3,$image,0,0,0,0,$W/2,$H/2,$W,$H);

header("Content-type: image/png");
imagepng($img3, $file_name);
imagedestroy($img2);
imagedestroy($img3);
imagedestroy($image);
}}

 


MVTS (MERA VoIP Transit Softswitch)
 - это полнофункциональный пограничный контроллер сессий, предназначенный для гибкого управления VoIP-трафиком в сетях операторского класса. Основная задача MVTS — концентрация и коммутация VoIP-потоков, трансляция их между сетями с разнородной сигнализацией.

...continue reading "mvts"

Ура ура!!11Я пол-года назад, или даже больше, оставлял заявку на сайте одного человека.
И мне сегодня наконец-то пришла открытка от него. Этого человека зовут Витер. Это как ветер, только Витер ( в украинском языке ветер будет "витэр" )
На самом деле его зовут Андрей, он фотограф из Украины. Вот его сайт
Этот человек сейчас скорее всего живет на Гоа, путешествует, и ему хорошо.
Открытка кстати отправлена из Индии. У меня еще никогда не было предметов которые мне присылали бы настолько издалека. Теперь есть =)
Буду в записной книжке носить.

Вот тут в комментах люди которым пришла открытка отписываются, скидывают фоторгафии и радуются.

Ну и собственно вот фото моей открытки, с замазюканными при помощи Paint.NET палевными частями.

<script language="javascript" type="text/javascript">
function limitText(limitField, limitCount, limitNum) {
 if (limitField.value.length > limitNum) {
  limitField.value = limitField.value.substring(0, limitNum);
 } else {
  limitCount.value = limitNum - limitField.value.length;
 }
}

</script>

<textarea  name="text" id="text" onKeyUp="limitText(this.form.text,this.form.countdown,400);"> </textarea>
<br /><font size="1">(Максимум символов: 400)
<input readonly type="text" name="countdown" size="3" value="100"/> символов осталось.</font>

 

Возникла необходимость сделать так, чтобы высота одного из дивов была равна высоте второго дива, у которого высота может варьироваться.

После всевозможных шаманств выяснилось, что нужно указывать другой доктайп, поскольку с тем что был - нужного эффекта не получится, высоту зависимого дива нельзя было задать как 100%

Вот пример рабочей конструкции:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>title</title>
</head>

<body>
<div style="width:100%;height:100%;background-color:#123;text-align:center;">
<div style="width:200px;height:600px;background-color:#234;margin:20px;">Блок</div>
</div>
</body>
</html>

Поскольку я тут накидал в основном псто про технические шняги, надо разбавить это все художественной литературой.
Поэтому, напоминание самому себе: прочитай блять вот это - Венедикт Ерофеев. Москва - Петушки !

UPD 2012-06-15.:
Начал читать, понял что книга говно.
То что я запомнил: какой-то ёбанный алкаш пытается куда-то поехать.
Пролистал в конец книги - его убили шилом.
Не буду больше ее читать, не понимаю я её.

π