[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Создание изображения в других расширениях
Эли4ка
Скажите пожалуйста,как мне реализовать следующее:
Загружаемое изображение создавалось в других расширениях.Например если загружается jpg ,то создавались в png,gif ,если png ,то в gif,jpg и тд..??



Спустя 9 минут, 30 секунд (9.12.2011 - 13:42) m4a1fox написал(а):
просто может поменять расширение?

Спустя 1 минута, 12 секунд (9.12.2011 - 13:43) Эли4ка написал(а):
m4a1fox
мне это надо автоматически,а вот как не знаю..

Спустя 5 минут, 23 секунды (9.12.2011 - 13:49) m4a1fox написал(а):
Ну и подставляй..... в расширение файлов! Ща погоди! Попробую набросать скрипт!

Спустя 8 минут, 34 секунды (9.12.2011 - 13:57) m4a1fox написал(а):

<?php
$ex = array('.jpg', '.png', '.gif');

$file = 'image.jpg';

$exf = explode(".", $file);
foreach ($ex as $val){
echo $exf[0].$val."<br />";
}



?>

Грубо если...то я так думал можно попробовать!

Спустя 7 минут, 40 секунд (9.12.2011 - 14:05) Игорь_Vasinsky написал(а):
imagepng();
imagejpeg() и т.д.

Спустя 1 минута, 30 секунд (9.12.2011 - 14:07) m4a1fox написал(а):
Игорь_Vasinsky
Точняк! Чет я не подумал об этом!

Спустя 17 часов, 56 минут, 8 секунд (10.12.2011 - 08:03) Эли4ка написал(а):
функции какие я знаю,мне нужно ,чтобы в папке помимо оригинала создавались три изображения ,но с другими расширениями-я просто немного запуталась как сделать,а то при подставлении создается только одно изображение в другом расширении,а оригинал удаляется..

Спустя 21 минута, 50 секунд (10.12.2011 - 08:24) Invis1ble написал(а):
Эли4ка
тебе Игорь написал нужные ф-ции, неужели так сложно сходить в мануал и посмотреть как с ними работать?

Спустя 4 часа, 4 минуты, 17 секунд (10.12.2011 - 12:29) Эли4ка написал(а):
Хорошо..

Спустя 2 часа, 43 минуты, 41 секунда (10.12.2011 - 15:12) walerus написал(а):
Invis1ble - Игорь то написал какие функции, но перед их использованием нужно сначала определить какой исходный(оригинал) файл.

Как я представляю это все дело:

1) Определить тип картинки и ее размеры;
2) Определить в какие типы конвертировать;
3) Потом уже сам процесс...


function convert_Image( $picture )
{
## Определяем тип/формат входящего изображения
$size = getimagesize ( $picture );

$end_file = pathinfo($picture);
$end_file = $end_file['extension'];

$format = strtolower( substr( $size['mime'], strpos( $size['mime'], '/' ) + 1 ) );

$create_type = array( 'jpeg', 'png', 'bmp', 'gif' ); // Массив с нужными для конвертации типами изображения
$create_type = array_values( array_diff( $create_type, array( $format ) ) ); // Отфильтровываем оригинал

$w_to = $size[0]; // Ширина нового изображения
$h_to = $size[1]; // Высота нового изображения

foreach( $create_type as $create_type_key => $create_type_value )
{
$new_img = imagecreatetruecolor( $w_to, $h_to );

$icfunc = "imagecreatefrom".$format;

if ( $format == 'bmp' )
{
## Подключаем библиотеку Что бы правильно прочесть BMP файл
require_once 'BmpImage.class.php';

$isrc = tools_BmpImage::bmpfile2gd($picture);
}
elseif( function_exists( $icfunc ) )
{
$isrc = $icfunc( $picture );
}
else
{
echo "Error: ".$icfunc." !!!"; // не существует функции преобразования
}

imagecopy( $new_img, $isrc, 0, 0, 0, 0, $w_to, $h_to );

if ( $create_type_value == 'jpg' || $create_type_value == 'jpeg' )
imagejpeg( $new_img, 'out/'. str_replace( '.'.$end_file, '.', $picture ).'jpg' );

if ( $create_type_value == 'png' )
imagepng( $new_img, 'out/'.str_replace( '.'.$end_file, '.', $picture ).'png' );

// BMP - сохраняется в PNG формат !!!.
if ( $create_type_value == 'bmp' )
imagepng( $new_img, 'out/'.str_replace( '.'.$end_file, '.', $picture ).'bmp' );

if ( $create_type_value == 'gif' )
imagegif( $new_img, 'out/'.str_replace( '.'.$end_file, '.', $picture ).'gif' );
}

## Копируем сам оригинал
copy( $picture, 'out/'.$picture );

echo "Done.<br>"; flush();
}

convert_Image ( $picture_1 );


Набросал вот функцию.
Принимает форматы - JPEG, JPG, GIF, PNG, BMP.
Выходящие форматы - JPG, GIF, PNG, BMP.

Скрипт использует библиотеку/класс - BmpImage.class.php, НЕ мой, честно взял на просторах интернета. Т.к. BMP формат, еще то занудство.

Результаты пишутся в папку OUT с исходным именем, меняя расширения.

И последнее, не смог победить запись в именно BMP формат !!!, поэтому BMP пишется в PNG формат.

Как то так B)

ААААА !!! - забыл класс привязать к посту :rolleyes:


Спустя 12 часов, 36 минут, 37 секунд (11.12.2011 - 03:49) Эли4ка написал(а):
спасибо попробую..
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.