ФорумПрограммированиеJavaScript → Fckeditor, ресайз при загрузке картинок

Fckeditor, ресайз при загрузке картинок

  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz Март 4, 2009, 12:14 д.п., спустя 1 час 7 минут 48 секунд

    phpdude, я тини в 2008 заюзал впервые… хотя на хтмл не смотрел, как-то пох… Посмотри на ворпресс, они же его юзают…
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Март 4, 2009, 12:24 д.п., спустя 9 минут 42 секунды

    он с blockquote хуевничает
    Сапожник без сапог
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz Март 11, 2009, 10:19 п.п., спустя 7 дней 21 час 54 минуты

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

    /**
    * htContent - HTML-код
    * dir - каталог с изображениями
    */
    function correctImageSize($htContent, $dir)
    {
    $doc = new DOMDocument();
    $doc->loadHTML($htContent);

    $imgs = $doc->getElementsByTagName('img');
    foreach ($imgs as $elImg) {
    if (! $elImg->hasAttribute('src')) {
    continue;
    }
    $attrWidth = INF;
    $attrHeight = INF;
    if ($elImg->hasAttribute('style')) {
    $style = $elImg->getAttribute('style');
    $rules = explode(';', $style);
    foreach ($rules as $rule) {
    @list($name, $value) = explode(':', $rule);
    if (! $name || ! $value) {
    continue;
    }
    if (strCaseCmp($name, 'width') == 0) {
    $attrWidth = intval($value);
    }
    if (strCaseCmp($name, 'height') == 0) {
    $attrHeight = intval($value);
    }
    }
    }
    if ($elImg->hasAttribute('width')) {
    $attrWidth = $elImg->getAttribute('width');
    }
    if ($elImg->hasAttribute('height')) {
    $attrHeight = $elImg->getAttribute('height');
    }

    $path = $dir . '/' . baseName($elImg->getAttribute('src'));
    if (! file_exists($path)) {
    continue;
    }

    list($realWidth, $realHeight, $type) = getimagesize($path);
    switch ($type) {
    case 1:
    $srcPic = imageCreateFromGIF($path);
    $end = 'gif';
    break;
    case 2:
    $srcPic = imageCreateFromJPEG($path);
    $end = 'jpeg';
    break;
    case 3:
    $srcPic = imageCreateFromPNG($path);
    $end = 'png';
    break;
    default:
    trigger_error('Unsupported image type');
    }
    $width = min($attrWidth, $realWidth);
    $height = min($attrHeight, $realHeight);
    $dstPic = imageCreateTrueColor($width, $height);
    imageCopyResampled($dstPic, $srcPic, 0, 0, 0, 0,
    $width, $height, $realWidth, $realHeight);
    $func = 'image' . $end;
    $func($dstPic, $path);
    }
    }
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz Март 11, 2009, 11:22 п.п., спустя 1 час 3 минуты 24 секунды

    Timur, пригодится!
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz Март 12, 2009, 9:51 п.п., спустя 22 часа 28 минут 41 секунду

    Плагин загрузки картинок и фотографий для TinyMCE
    https://smappi.org/ - платформа по созданию API на все случаи жизни

Пожалуйста, авторизуйтесь, чтобы написать комментарий!