Advanced search  

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Pages: [1]   Go Down

Author Topic: Квадратные миниатюры  (Read 12850 times)

0 Members and 1 Guest are viewing this topic.

HORNETZ

  • Coppermine newbie
  • Offline Offline
  • Posts: 2
Квадратные миниатюры
« on: February 18, 2008, 12:40:59 am »

как сделать кважратные миниатюры на cpg 1.4.16?
« Last Edit: June 10, 2009, 11:23:14 pm by Makc666 »
Logged

Alex Revo

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Posts: 637
  • Инженер человеческих душ
    • Фото Ростова-на-Дону
Re: квадратные миниатюры?
« Reply #1 on: February 18, 2008, 04:41:55 am »

Миниатуры будут автоматически созданы квадратными, если загружать исключительно квадратные фото.
Logged

HORNETZ

  • Coppermine newbie
  • Offline Offline
  • Posts: 2
Re: квадратные миниатюры?
« Reply #2 on: February 18, 2008, 10:40:40 am »

ну это понятно а хотелось бы чтобы создовались квадратные даже если фотка не квадратная
Logged

Alex Revo

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Posts: 637
  • Инженер человеческих душ
    • Фото Ростова-на-Дону
Re: квадратные миниатюры?
« Reply #3 on: February 19, 2008, 06:33:39 am »

Для этого нужно править код самой галереи.
Logged

Orhidea

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 30
    • my WebPage
Re: квадратные миниатюры?
« Reply #4 on: March 07, 2008, 04:47:33 pm »

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

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: квадратные миниатюры?
« Reply #5 on: March 15, 2008, 01:46:27 pm »

как сделать кважратные миниатюры на cpg 1.4.16?
Если использовать ImageMagic в качестве "Конфиг -> Метод изменения размеров изображений", то можно попробовать почитать в его документации, может ли он автоматически создавать квадратные изображения из командной строки.
"Конфиг -> Параметры командной строки для ImageMagick" 
« Last Edit: April 10, 2009, 10:16:08 pm by Makc666 »
Logged

dim568

  • Coppermine newbie
  • Offline Offline
  • Posts: 3
Re: квадратные миниатюры?
« Reply #6 on: May 23, 2009, 07:01:29 am »

нус попытаюсь изложить как делал я)))

1. Открываем
Code: [Select]
picmgmt.inc.php
2. Ищем отрывок
Code: [Select]
   if ($thumb_use == 'ht') {
        $ratio = $srcHeight / $new_size;
   } elseif ($thumb_use == 'wd') {
        $ratio = $srcWidth / $new_size;
    } else {
        $ratio = max($srcWidth, $srcHeight) / $new_size;
    }
    $ratio = max($ratio, 1.0);

3. После него удаляем строки
Code: [Select]
   $destWidth = (int)($srcWidth / $ratio);
    $destHeight = (int)($srcHeight / $ratio);

4. Заместо них пишем
Code: [Select]
   if ($new_size<400)
    {
    $destWidth = (int)$new_size;
    $destHeight = (int)$new_size;
if($srcWidth/$srcHeight>=1)
{
$startx=($srcWidth-$srcHeight)/2;
$starty=0;
$myvalue=$srcHeight;
}else{
$startx=0;
$starty=($srcHeight-$srcWidth)/2;
$myvalue=$srcWidth;
}
    }else{
    $destWidth = (int)($srcWidth / $ratio);
    $destHeight = (int)($srcHeight / $ratio);
    }

5. Ниже ищем
Code: [Select]
case "gd2" :
6. Чуток ниже заменяем
Code: [Select]
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight);
на
Code: [Select]
if (isset($startx)) imagecopyresampled($dst_img, $src_img, 0, 0, $startx, $starty, $destWidth, $destHeight, $myvalue, $myvalue);
else imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight);

7. сохраняем и галлерея будет автоматически делать квадратными изображения которые должны быть меньше 400 пикселей, фокус будет брать по центру исходного изображения, но это еще не все)))


для правильного отображения наших миниатюр

1. Открываем
Code: [Select]
functions.inc.php
2. Ищем
Code: [Select]
function compute_img_size($width, $height, $max)
{
         global $CONFIG;
        $thumb_use=$CONFIG['thumb_use'];
        if($thumb_use=='ht') {
          $ratio = $height / $max;
        } elseif($thumb_use=='wd') {
          $ratio = $width / $max;
        } else {
          $ratio = max($width, $height) / $max;
        }
        if ($ratio > 1.0) {
                $image_size['reduced'] = true;
        }
        $ratio = max($ratio, 1.0);

3. Ниже заменяем
Code: [Select]
       $image_size['width'] =  (int) ($width / $ratio);
        $image_size['height'] = (int) ($height / $ratio);

на
Code: [Select]
if($max<400)
        {
        $image_size['width'] =  $max;
        $image_size['height'] = $max;
        }else{
        $image_size['width'] =  (int) ($width / $ratio);
        $image_size['height'] = (int) ($height / $ratio);
        }

4. сохраняем и радуемся

понимаю что описал не есть как, поэтому прикладываю мои файлы.
« Last Edit: June 10, 2009, 11:27:21 pm by Makc666 »
Logged
Pages: [1]   Go Up
 

Page created in 0.023 seconds with 19 queries.