sslab

Рейтинг
124
Регистрация
25.11.2008

Присоединяюсь к вопросу...

про единиый кошелек отзывы на различных ресурсах разнятся очень - если в пропорциях, то где то %60 отрицательных...

Я когда то нашел какие то начинания, почитал/подпилил и в итоге получилась такая функция. Она естественно адаптирована под мои нужды


function image_resize($filename, $smallimage, $w, $h)
{
// получим размеры исходного изображения
$size_img = getimagesize($filename);

// Если размеры меньше, то масштабирования не нужно
if (($size_img[0]<$w) && ($size_img[1]<$h))
{
return false;
}

// получим коэффициент сжатия исходного изображения
$src_ratio=$size_img[0]/$size_img[1];

if ($src_ratio>=1) //горизонтальная картинка
{
$new_height=$h;
$new_width=$new_height*$src_ratio;
// создадим пустое изображение по заданным размерам
$dest_img = imagecreatetruecolor($new_width, $new_height);
$white = imagecolorallocate($dest_img, 255, 255, 255);
if ($size_img[2]==2) $src_img = imagecreatefromjpeg($filename);
else if ($size_img[2]==1) $src_img = imagecreatefromgif($filename);
else if ($size_img[2]==3) $src_img = imagecreatefrompng($filename);
// масштабируем изображение
imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $new_width, $new_height, $size_img[0], $size_img[1]);

}
else //вертикальная картинка
{

$new_width=$w;
$new_height=$new_width/$src_ratio;
$dest_img = imagecreatetruecolor($new_width, $new_height);
$white = imagecolorallocate($dest_img, 255, 255, 255);
if ($size_img[2]==2) $src_img = imagecreatefromjpeg($filename);
else if ($size_img[2]==1) $src_img = imagecreatefromgif($filename);
else if ($size_img[2]==3) $src_img = imagecreatefrompng($filename);
// масштабируем изображение
imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $new_width, $new_height, $size_img[0], $size_img[1]);
}

// сохраняем уменьшенную копию в файл
if ($size_img[2]==2) imagejpeg($dest_img, $smallimage);
else if ($size_img[2]==1) imagegif($dest_img, $smallimage);
else if ($size_img[2]==3) imagepng($dest_img, $smallimage);
// чистим память от созданных изображений
imagedestroy($dest_img);
imagedestroy($src_img);
return true;
}

А вот ее использование


if (image_resize($avatar_file, $avatar_file_name_, 120, 160)) ...

А на страницу вывожу в ДИВе с размерами мне нужными (120 х 160 например) с


background-repeat: no-repeat;
background-position: center;

а background-image ставлю преобразованную картинку

Powinteh:
Я считаю такие вещи нужно под себя проект точить отдельно и с нуля.

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

Выпущен небольшой патч для XTDesktop.

Обновление программа сама увидит, например, при ее запуске.

Harius:
Сергей, спасибо, симпатичная программулина получилась.

На здоровьице :)

Семёныч:
Спидометр по-моему нелогичен на скриншоте: должно быть "урл/сек", а не "сек/урл"

Ну можно и наоборот сделать. Если сделать наоборот, то по сути будут на нем получаться очень маленькие числа в натуральной величине. Или у кого то он успевает проверять несколько УРЛов в секунду, при условии, что таймаут минимальный 1сек ?:)

Всем день добрый....

Сервис проверки траста xt в Яндексе стал доступен и в десктопном варианте. Рады представить вам приложение XTDesktop, которое вы сможете скачать отсюда.

Приложение конечно же распространяется абсолютно бесплатно и как есть.

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

Кратенько скажу, что данное приложение предназначено для массовой проверки импортированных, или введенных вручную, URL-ов. Все полученные результаты вы сможете экспортировать в 4 формата - Excel, txt, html, xml.

Ну и прилагаю скрин доступной на данный момент версии.

jpg screen.jpg

Как то так еще можно


public function randomizer($min_digit, $max_digit, $count_digit)
{
// $max_digit = максимальное (до скольки)
// $min_digit = минимально (с какого числа)
// $count_digit = сколько выдать

$random_arr = array(); // массив итоговый случайных чисел
$tmp_arr=array(); // временный массив

for ($i=0; $i<$count_digit; $i++)
{
do
{
$temp=rand($min_digit, $max_digit);
}
while(isset($tmp_arr[$temp]));
$tmp_arr[$temp]=1;
$random_arr[]=$temp;
}

unset($tmp_arr);
return $random_arr;
}

Ну и вызов:

$rand_digital = $this->randomizer(1,10,3);

Тут для чисел приведено. Не сложно перевести, допустим, на ключи массива строк.

Devyshka:

а Вы собстно с какой целью интересовались?? простое любопытство? ))

Соц. опрос провожу :)...

А так вот вдруг пересечемся где-нить (деревня то наша маленькая), узнаю тебя (благо фоток в контакте навалом), вспомню про топик на серче...

Ну выбор не плох... Брау в Аэропорту особенно свежайший если - хорош...

И какое пиво пьют Архангельские СЕОшницы?

Всего: 479