Форум → Программирование → JavaScript → Fckeditor, ресайз при загрузке картинок
Fckeditor, ресайз при загрузке картинок
Страницы: ← Предыдущая страница →
-
Март 4, 2009, 12:14 д.п., спустя 1 час 7 минут 48 секунд
phpdude, я тини в 2008 заюзал впервые… хотя на хтмл не смотрел, как-то пох… Посмотри на ворпресс, они же его юзают…https://smappi.org/ - платформа по созданию API на все случаи жизни -
-
Март 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);
}
} -
Март 11, 2009, 11:22 п.п., спустя 1 час 3 минуты 24 секунды
Timur, пригодится!https://smappi.org/ - платформа по созданию API на все случаи жизни -
Март 12, 2009, 9:51 п.п., спустя 22 часа 28 минут 41 секунду
https://smappi.org/ - платформа по созданию API на все случаи жизни
Страницы: ← Предыдущая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!