imagegif
imagegif — Output image to browser or file
Описание
Список параметров
Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor() .
The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.
Возвращаемые значения
Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
Примеры
Пример #1 Outputting an image using imagegif()
// Create a new image instance
$im = imagecreatetruecolor ( 100 , 100 );
// Make the background white
imagefilledrectangle ( $im , 0 , 0 , 99 , 99 , 0xFFFFFF );
// Draw a text string on the image
imagestring ( $im , 3 , 40 , 20 , ‘GD Library’ , 0xFFBA00 );
// Output the image to browser
header ( ‘Content-type: image/gif’ );
imagegif ( $im );
imagedestroy ( $im );
?>
Пример #2 Converting a PNG image to GIF using imagegif()
// Load the PNG
$png = imagecreatefrompng ( ‘./php.png’ );
// Save the image as a GIF
imagegif ( $png , ‘./php.gif’ );
// Free from memory
imagedestroy ( $png );
// We’re done
echo ‘Converted PNG image to GIF with success!’ ;
?>
Примечания
The following code snippet allows you to write more portable PHP applications by auto-detecting the type of GD support which is available. Replace the sequence header («Content-type: image/gif»); imagegif ($im); by the more flexible sequence:
// Create a new image instance
$im = imagecreatetruecolor ( 100 , 100 );
// Do some image operations here
// Handle output
if( function_exists ( ‘imagegif’ ))
<
// For GIF
header ( ‘Content-type: image/gif’ );
imagegif ( $im );
>
elseif( function_exists ( ‘imagejpeg’ ))
<
// For JPEG
header ( ‘Content-type: image/jpeg’ );
imagejpeg ( $im , NULL , 100 );
>
elseif( function_exists ( ‘imagepng’ ))
<
// For PNG
header ( ‘Content-type: image/png’ );
imagepng ( $im );
>
elseif( function_exists ( ‘imagewbmp’ ))
<
// For WBMP
header ( ‘Content-type: image/vnd.wap.wbmp’ );
imagewbmp ( $im );
>
else
<
imagedestroy ( $im );
die( ‘No image support in this PHP server’ );
>
// If image support was found for one of these
// formats, then free it from memory
if( $im )
<
imagedestroy ( $im );
>
?>
As of PHP 4.0.2 you can use the function imagetypes() in place of function_exists() for checking the presence of the various supported image formats:
Смотрите также
- imagepng() — Output a PNG image to either the browser or a file
- imagewbmp() — Output image to browser or file
- imagejpeg() — Output image to browser or file
- imagetypes() — Return the image types supported by this PHP build
Форум PHP программистов ► PHP практикум ► PHP для начинающих
Пейджер выключен!
Сообщений: 449
Пользователь №: 32172
На форуме:
Карма: 22
Сидел он, дум великих полон — и вдаль глядел
Сообщений: 15707
Пользователь №: 4190
На форуме:
Карма: 485
Очень просто Надо тот скрипт, что используется для создания картинки, указать в SRC для тэге IMG; см. тут, например: http:// phpforum .ru/index. php ?showtopic=37150&hl=
И затем идем и читаем, как работает функция imagegif: http://www. php .net/manual/ru/function.imagegif. php . В твоем случае НЕ УКАЗЫВАЙ второй параметр.
* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.
* «накапливаю умение телепатии» (С) и «гуглю за ваш счет» (С)
Что такое Image2.gif и как его исправить?
Совместима с Windows XP, Vista, 7, 8 и 10
Обзор Image2.gif
Что такое Image2.gif?
Image2.gif представляет собой разновидность файла GIF, связанного с Microsoft Windows, который разработан Microsoft Corporation для ОС Windows. Последняя известная версия Image2.gif: 6.3.9600.16384, разработана для Windows 8.1. Данный файл GIF имеет рейтинг популярности 1 звезд и рейтинг безопасности «Неизвестно».
Почему у меня наблюдаются ошибки в файлах типа GIF?
Если Windows не может нормально загрузить файл Image2.gif, или файл GIF заражен вирусом или вредоносным ПО, вы увидите сообщение об ошибке. Для получения дополнительной информации см. «Причины ошибок Image2.gif» ниже.
В каких случаях появляются ошибки в файлах типа GIF?
Ошибки GIF, например, связанные с image2.gif, чаще всего появляются во время запуска компьютера, запуска программы или при попытке использования специфических функций в вашей программе (например, печать).
Распространенные сообщения об ошибках в Image2.gif
Наиболее распространенные ошибки image2.gif, которые могут возникнуть на компьютере под управлением Windows, перечислены ниже:
- «Ошибка в файле Image2.gif.»
- «Отсутствует файл Image2.gif.»
- «Image2.gif не найден.»
- «Не удалось загрузить Image2.gif.»
- «Не удалось зарегистрировать image2.gif.»
- «Ошибка выполнения: image2.gif.»
- «Ошибка загрузки image2.gif.»
Такие сообщения об ошибках GIF могут появляться в процессе установки программы, когда запущена программа, связанная с image2.gif (например, Microsoft Windows), при запуске или завершении работы Windows, или даже при установке операционной системы Windows. Отслеживание момента появления ошибки image2.gif является важной информацией при устранении проблемы.
Причины ошибок в файле Image2.gif
Проблемы Image2.gif могут быть отнесены к поврежденным или отсутствующим файлам, содержащим ошибки записям реестра, связанным с Image2.gif, или к вирусам / вредоносному ПО.
Более конкретно, данные ошибки image2.gif могут быть вызваны следующими причинами:
- Поврежденные ключи реестра Windows, связанные с image2.gif / Microsoft Windows.
- Вирус или вредоносное ПО, которые повредили файл image2.gif или связанные с Microsoft Windows программные файлы.
- Другая программа злонамеренно или по ошибке удалила файлы, связанные с image2.gif.
- Другая программа находится в конфликте с Microsoft Windows и его общими файлами ссылок.
- Поврежденная загрузка или неполная установка программного обеспечения Microsoft Windows.
Как исправить ошибки в Image2.gif
Ниже описана последовательность действий по устранению ошибок, призванная решить проблемы image2.gif. Данная последовательность приведена в порядке от простого к сложному и от менее затратного по времени к более затратному, поэтому мы настоятельно рекомендуем следовать данной инструкции по порядку, чтобы избежать ненужных затрат времени и усилий.
Пожалуйста, учтите: Нажмите на изображение [ ] , чтобы развернуть инструкции по устранению проблем по каждому из шагов ниже. Вы также можете использовать изображение [ ], чтобы скрывать инструкции по мере их выполнения.
Шаг 1: Исправить записи реестра, связанные с Microsoft Windows
Иногда ошибки image2.gif и другие системные ошибки GIF могут быть связаны с проблемами в реестре Windows. Несколько программ может использовать файл image2.gif, но когда эти программы удалены или изменены, иногда остаются «осиротевшие» (ошибочные) записи реестра GIF.
В принципе, это означает, что в то время как фактическая путь к файлу мог быть изменен, его неправильное бывшее расположение до сих пор записано в реестре Windows. Когда Windows пытается найти файл по этой некорректной ссылке (на расположение файлов на вашем компьютере), может возникнуть ошибка image2.gif. Кроме того, заражение вредоносным ПО могло повредить записи реестра, связанные с Microsoft Windows. Таким образом, эти поврежденные записи реестра GIF необходимо исправить, чтобы устранить проблему в корне.
Редактирование реестра Windows вручную с целью удаления содержащих ошибки ключей image2.gif не рекомендуется, если вы не являетесь специалистом по обслуживанию ПК. Ошибки, допущенные при редактировании реестра, могут привести к неработоспособности вашего ПК и нанести непоправимый ущерб вашей операционной системе. На самом деле, даже одна запятая, поставленная не в том месте, может воспрепятствовать загрузке компьютера!
В связи с подобным риском мы настоятельно рекомендуем использовать надежные инструменты очистки реестра, такие как WinThruster (разработанный Microsoft Gold Certified Partner), чтобы просканировать и исправить любые проблемы, связанные с image2.gif. Используя очистку реестра, вы сможете автоматизировать процесс поиска поврежденных записей реестра, ссылок на отсутствующие файлы (например, вызывающих ошибку image2.gif) и нерабочих ссылок внутри реестра. Перед каждым сканированием автоматически создается резервная копия, позволяющая отменить любые изменения одним кликом и защищающая вас от возможного повреждения компьютера. Самое приятное, что устранение ошибок реестра может резко повысить скорость и производительность системы.
Предупреждение: Если вы не являетесь опытным пользователем ПК, мы НЕ рекомендуем редактирование реестра Windows вручную. Некорректное использование Редактора реестра может привести к серьезным проблемам и потребовать переустановки Windows. Мы не гарантируем, что неполадки, являющиеся результатом неправильного использования Редактора реестра, могут быть устранены. Вы пользуетесь Редактором реестра на свой страх и риск.
Перед тем, как вручную восстанавливать реестр Windows, необходимо создать резервную копию, экспортировав часть реестра, связанную с image2.gif (например, Microsoft Windows):
- Нажмите на кнопку Начать.
- Введите «command» в строке поиска. ПОКА НЕ НАЖИМАЙТЕENTER!
- Удерживая клавиши CTRL-Shift на клавиатуре, нажмите ENTER.
- Будет выведено диалоговое окно для доступа.
- Нажмите Да.
- Черный ящик открывается мигающим курсором.
- Введите «regedit» и нажмите ENTER.
- В Редакторе реестра выберите ключ, связанный с image2.gif (например, Microsoft Windows), для которого требуется создать резервную копию.
- В меню Файл выберите Экспорт.
- В списке Сохранить в выберите папку, в которую вы хотите сохранить резервную копию ключа Microsoft Windows.
- В поле Имя файла введите название файла резервной копии, например «Microsoft Windows резервная копия».
- Убедитесь, что в поле Диапазон экспорта выбрано значение Выбранная ветвь.
- Нажмите Сохранить.
- Файл будет сохранен с расширением .reg.
- Теперь у вас есть резервная копия записи реестра, связанной с image2.gif.
Следующие шаги при ручном редактировании реестра не будут описаны в данной статье, так как с большой вероятностью могут привести к повреждению вашей системы. Если вы хотите получить больше информации о редактировании реестра вручную, пожалуйста, ознакомьтесь со ссылками ниже.
Мы не несем никакой ответственности за результаты действий, совершенных по инструкции, приведенной ниже — вы выполняете эти задачи на свой страх и риск.
Шаг 2: Проведите полное сканирование вашего компьютера на вредоносное ПО
Есть вероятность, что ошибка image2.gif может быть связана с заражением вашего компьютера вредоносным ПО. Эти вредоносные злоумышленники могут повредить или даже удалить файлы, связанные с GIF. Кроме того, существует возможность, что ошибка image2.gif связана с компонентом самой вредоносной программы.
Совет: Если у вас еще не установлены средства для защиты от вредоносного ПО, мы настоятельно рекомендуем использовать Emsisoft Anti-Malware (скачать). В отличие от других защитных программ, данная программа предлагает гарантию удаления вредоносного ПО.
Шаг 3: Очистить систему от мусора (временных файлов и папок) с помощью очистки диска (cleanmgr)
Со временем ваш компьютер накапливает ненужные файлы в связи с обычным интернет-серфингом и повседневным использованием компьютера. Если такие ненужные файлы иногда не удалять, они могут привести к снижению быстродействия Microsoft Windows или к ошибке image2.gif, возможно вследствие конфликтов файлов или перегрузки жесткого диска. Удаление таких временных файлов при помощи утилиты Очистка диска может не только устранить ошибку image2.gif, но и существенно повысить быстродействие вашего компьютера.
Совет: Хотя утилита Очистки диска является прекрасным встроенным инструментом, она удаляет не все временные файлы с вашего компьютера. Другие часто используемые программы, такие как Microsoft Office, Firefox, Chrome, Live Messenger, а также сотни других программ не поддаются очистке при помощи программы Очистка диска (включая некоторые программы Microsoft Corporation).
Из-за недостатков утилиты Windows Очистка диска (cleanmgr) мы настоятельно рекомендуем использовать специализированное программное обеспечение очистки жесткого диска / защиты конфиденциальности, например WinSweeper (разработано Microsoft Gold Partner), для очистки всего компьютера. Запуск WinSweeper раз в день (при помощи автоматического сканирования) гарантирует, что ваш компьютер всегда будет чист, будет работает быстро и без ошибок image2.gif, связанных с временными файлами.
Как запустить Очистку диска (cleanmgr) (Windows XP, Vista, 7, 8 и 10):
- Нажмите на кнопку Начать.
- Введите «command» в строке поиска. ПОКА НЕ НАЖИМАЙТЕENTER!
- Удерживая клавиши CTRL-Shift на клавиатуре, нажмите ENTER.
- Будет выведено диалоговое окно для доступа.
- Нажмите Да.
- Черный ящик открывается мигающим курсором.
- Введите «cleanmgr» и нажмите ENTER.
- Программа Очистка диска приступит к подсчету занятого места на диске, которое вы можете освободить.
- Будет открыто диалоговое окно Очистка диска, содержащее флажки, которые вы можете выбрать. В большинстве случаев категория «Временные файлы» занимает большую часть дискового пространства.
- Установите флажки напротив категорий, которые вы хотите использовать для очистки диска, и нажмите OK.
Шаг 4: Обновите драйверы устройств на вашем компьютере
Ошибки Image2.gif могут быть связаны с повреждением или устареванием драйверов устройств. Драйверы с легкостью могут работать сегодня и перестать работать завтра по целому ряду причин. Хорошая новость состоит в том, что чаще всего вы можете обновить драйверы устройства, чтобы устранить проблему с GIF.
В связи с временными затратами и общей сложностью обновления драйверов мы настоятельно рекомендуем использовать утилиту обновления драйверов, например DriverDoc (разработана Microsoft Gold Partner), для автоматизации этого процесса.
Пожалуйста, учтите: Ваш файл image2.gif может и не быть связан с проблемами в драйверах устройств, но всегда полезно убедиться, что на вашем компьютере установлены новейшие версии драйверов оборудования, чтобы максимизировать производительность вашего ПК.
Шаг 5: Используйте Восстановление системы Windows, чтобы «Отменить» последние изменения в системе
Восстановление системы Windows позволяет вашему компьютеру «отправиться в прошлое», чтобы исправить проблемы image2.gif. Восстановление системы может вернуть системные файлы и программы на вашем компьютере к тому времени, когда все работало нормально. Это потенциально может помочь вам избежать головной боли от устранения ошибок, связанных с GIF.
Пожалуйста, учтите: использование восстановления системы не повлияет на ваши документы, изображения или другие данные.
Чтобы использовать Восстановление системы (Windows XP, Vista, 7, 8 и 10):
- Нажмите на кнопку Начать.
- В строке поиска введите «Восстановление системы» и нажмите ENTER.
- В окне результатов нажмите Восстановление системы.
- Введите пароль администратора (при появлении запроса).
- Следуйте инструкциям Мастера для выбора точки восстановления.
- Восстановить ваш компьютер.
Шаг 6: Удалите и установите заново программу Microsoft Windows, связанную с Image2.gif
Инструкции для Windows 7 и Windows Vista:
- Откройте «Программы и компоненты», нажав на кнопку Пуск.
- Нажмите Панель управления в меню справа.
- Нажмите Программы.
- Нажмите Программы и компоненты.
- Найдите Microsoft Windows в столбце Имя.
- Нажмите на запись Microsoft Windows.
- Нажмите на кнопку Удалить в верхней ленте меню.
- Следуйте инструкциям на экране для завершения удаления Microsoft Windows.
Инструкции для Windows XP:
- Откройте «Программы и компоненты», нажав на кнопку Пуск.
- Нажмите Панель управления.
- Нажмите Установка и удаление программ.
- Найдите Microsoft Windows в списке Установленные программы.
- Нажмите на запись Microsoft Windows.
- Нажмите на кнопку Удалить справа.
- Следуйте инструкциям на экране для завершения удаления Microsoft Windows.
Инструкции для Windows 8:
- Установите указатель мыши в левой нижней части экрана для показа изображения меню Пуск.
- Щелкните правой кнопкой мыши для вызова Контекстного меню Пуск.
- Нажмите Программы и компоненты.
- Найдите Microsoft Windows в столбце Имя.
- Нажмите на запись Microsoft Windows.
- Нажмите Удалить/изменить в верхней ленте меню.
- Следуйте инструкциям на экране для завершения удаления Microsoft Windows.
После того, как вы успешно удалили программу, связанную с image2.gif (например, Microsoft Windows), заново установите данную программу, следуя инструкции Microsoft Corporation.
Совет: Если вы абсолютно уверены, что ошибка GIF связана с определенной программой Microsoft Corporation, удаление и повторная установка программы, связанной с image2.gif с большой вероятностью решит вашу проблему.
Шаг 7: Запустите проверку системных файлов Windows («sfc /scannow»)
Проверка системных файлов представляет собой удобный инструмент, включаемый в состав Windows, который позволяет просканировать и восстановить поврежденные системные файлы Windows (включая те, которые имеют отношение к image2.gif). Если утилита проверки системных файлов обнаружила проблему в GIF или другом важном системном файле, она предпримет попытку заменить проблемные файлы автоматически.
Чтобы запустить проверку системных файлов (Windows XP, Vista, 7, 8 и 10):
- Нажмите на кнопку Начать.
- Введите «command» в строке поиска. ПОКА НЕ НАЖИМАЙТЕENTER!
- Удерживая клавиши CTRL-Shift на клавиатуре, нажмите ENTER.
- Будет выведено диалоговое окно для доступа.
- Нажмите Да.
- Черный ящик открывается мигающим курсором.
- Введите «sfc /scannow» и нажмите ENTER.
- Проверка системных файлов начнет сканирование на наличие проблем image2.gif и других системных файлов (проявите терпение — проверка может занять длительное время).
- Следуйте командам на экране.
Шаг 8: Установите все доступные обновления Windows
Microsoft постоянно обновляет и улучшает системные файлы Windows, связанные с image2.gif. Иногда для решения проблемы GIF нужно просто напросто обновить Windows при помощи последнего пакета обновлений или другого патча, которые Microsoft выпускает на постоянной основе.
Чтобы проверить наличие обновлений Windows (Windows XP, Vista, 7, 8 и 10):
- Нажмите на кнопку Начать.
- Введите «update» в строке поиска и нажмите ENTER.
- Будет открыто диалоговое окно Обновление Windows.
- Если имеются доступные обновления, нажмите на кнопку Установить обновления.
Шаг 9: Произведите чистую установку Windows
Предупреждение: Мы должны подчеркнуть, что переустановка Windows займет очень много времени и является слишком сложной задачей, чтобы решить проблемы image2.gif. Во избежание потери данных вы должны быть уверены, что вы создали резервные копии всех важных документов, изображений, программ установки программного обеспечения и других персональных данных перед началом процесса. Если вы сейчас е создаете резервные копии данных, вам стоит немедленно заняться этим (скачать рекомендованное решение для резервного копирования), чтобы защитить себя от безвозвратной потери данных.
Пожалуйста, учтите: Если проблема image2.gif не устранена после чистой установки Windows, это означает, что проблема GIF ОБЯЗАТЕЛЬНО связана с аппаратным обеспечением. В таком случае, вам, вероятно, придется заменить соответствующее оборудование, вызывающее ошибку image2.gif.
Имя файла: image2.gif | Последняя известная версия: 6.3.9600.16384 |
Разработчик: Microsoft Corporation | Размер файла (байтов): 586 |
Программное обеспечение: Microsoft Windows | Операционная система: Windows 8.1 |
MD5: b88ac1db2f6542ab4e4d2108d26a38ed |
SHA1: d341df1fe1deb9c33ed57143bdec89279aed5c81 |
SHA256: cdcc62362658f4987cfe2705a4f7f23562dfe623ac2ed3658187a4efe906d2c1 |
Информация об операционной системе
Сообщения об ошибках Image2.gif могут появляться в любых из нижеперечисленных операционных систем Microsoft Windows:
- Windows 10
- Windows 8
- Windows 7
- Windows Vista
- Windows XP
- Windows ME
- Windows 2000
Проблема с Image2.gif все еще не устранена?
Обращайтесь к нам в любое время в социальных сетях для получения дополнительной помощи:
Об авторе: Джей Гитер (Jay Geater) является президентом и генеральным директором корпорации Solvusoft — глобальной компании, занимающейся программным обеспечением и уделяющей основное внимание новаторским сервисным программам. Он всю жизнь страстно увлекался компьютерами и любит все, связанное с компьютерами, программным обеспечением и новыми технологиями.
Отобразить файлы GIF в алфавитном порядке:
Вы загружаете пробное программное обеспечение. Подписка на один год стоимостью $39,95 необходима для разблокировки всех функций приложения. Подписка обновляется автоматически по завершению (Узнать больше). Нажав на кнопку «Начать загрузку» и установив «Софт»», я подтверждаю, что прочитал(а) и согласен(на) с Пользовательским соглашением и Политикой конфиденциальности Solvusoft.
imagepng и imagegif
December 2020
1.7k раз
Мне нужна помощь о PHP GD. Вот мой кусок кода.
Проблема заключается в том, когда я использую imagepng, он может показать PNG просто отлично, как это.
Но если я использую imagegif вместо этого, он будет это.
Я попытался с помощью другого заголовка для GIF и PNG. Результат для imagegif все то же. Вопрос в том, как я могу сделать для того, чтобы отобразить GIF версию правильно? Спасибо вам
2 ответы
GIF изображений поддерживает максимум 256 цветов. Самое главное, он поддерживает только прозрачность индекса: пиксель может быть на 100% непрозрачным или 100% прозрачным.
PNG с другой стороны, поддерживает истинные (миллионы) цветные изображения и поддерживает прозрачность альфа-канал. Это означает, что пиксель может быть на 100% непрозрачным, 100% прозрачный или что-нибудь между ними.
PNG изображения вы упоминали, вероятно, имеет свои ребра частично прозрачные, следовательно, браузер может легко смешать эти пиксели с цветом фона дает плавный эффект. PNG является лучшим выбором.
Первая проблема: ваши персонажи уродливы: это потому, что вам нужно установить палитру с меньшим количеством цветов при использовании imagecreatetruecolor.
должны решить эту проблему.
Вторая проблема: нет прозрачности.
Как вы можете видеть на PHP инструкции ,
imagesavealpha () устанавливает флаг, чтобы попытаться сохранить полную информацию об альфа-канале (в отличие от прозрачности одноцветной) при сохранении PNG изображений.
Эта функция не работает с GIF-файлами.
Вы можете использовать imagecolortransparent , но вместо этого не будет совершенным , потому что шрифты имеют антиалиасинг , чтобы сделать их границы слаще.
Что такое код imagegif
Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва
Репутация: 2
Всего: 32
Opik |
|
|
MuToGeN |
|
|
Opik |
|
|
MuToGeN |
|
|
skyboy |
|
|
Opik |
|
|
23.10.2012, 11:47 | ||
На главной странице сайта не отображаются картинки записей, а в самой записи все картинки отображаются flv файлы не отображаются в проводнике-что делать? Ошибка 101 замучала, пропали картинки — что делать? Верстка, картинки некорректно отображаются или не отображаются неоптимизированый режим: рекомендуемый режим 1280*1024 60Hz» . и дальше нет картинки .Что делать Встраиваем изображения — data:URLКак ты, конечно, знаешь, браузер, встретив в HTML тег img, спешит отправить на сервер запрос для загрузки соответствующей картинки. Примерно так же обстоят дела и с CSS-свойством background-image. В общем, как только встречаем картинку — имеем дополнительный запрос (а это время и трафик, в том числе, потраченный на пересылку HTTP заголовка — около килобайта). Вот такое вот поле для деятельности оптимизатору. Раз каждая картинка — это отдельный запрос, значит, чтобы уменьшить число запросов, нужно уменьшить число отдельных картинок. Поскольку просто выбросить картинки нам никто не даст, остается их объединять — склеивать разные изображения в один файл. Загружаются склеенные картинки одним запросом, а уже потом выбираются нужные участки (благо в CSS есть свойство background-position). Этот типичный подход описан в статье Спрайты: меньше картинок — больше скорость. Схема data:URLНо есть и другой вариант. А что, если картинки не клеить между собой, а внедрять прямо на место их использования — непосредственно в HTML и CSS файлы? Конечно, сами файлы при этом несколько «распухнут» — увеличатся в размерах, но зато все загрузится за один запрос. Выигрыш на заголовках может быть весьма ощутимым! И, как ты увидишь ниже, не только на заголовках. Технически, такая «вклейка» возможна. Базируется она на схеме data:URL. Эта схема позволяет внедрить на веб-страницу данные так, как если бы они были подключены с помощью вызова внешних файлов. Оговорюсь, внедрение возможно не в произвольном месте, а именно в URL (например, в атрибуте src, тега img). Сразу предупрежу — метод не панацея. Имеет ряд существенных ограничений. Но, давай по порядку. Как это выглядит?Все очень просто. Имеем следующий синтаксис:
На практике получатся примерно такие (или во много раз более длинные) громоздкие, но вполне валидные конструкции: А что с кроссбраузерностью?Закономерный вопрос. В настоящее время подавляющее большинство браузеров поддерживают эту технологию. Ни с Firefox, ни с Opera, ни с Safari, ни с IE8+ никаких проблем быть не должно. Для IE6-7 существует альтернативное решение вставки изображений в виде mhtml-включений. Так что можно сказать, что все популярные браузеры позволяют использовать внедрение изображений. Как обычно, не откладывая в долгий ящик, демо-пример странички с data:URL для фоновых картинок (CSS) и для тега img (HTML). Как получить код?С кроссбраузерностью разобрались, пример посмотрели. Теперь самое время, что бы кто-нибудь сказал: «Стоп! Что ты там за символы понавставлял в примере?! Где ты их взял? У меня же просто картинка! Файлик…». Не беспокойся. За нас уже поработали. Существуют готовые сервисы, которым можно «скормить» файл-картинку и получить соответствующий ей код. Про размеры картинокТак как картинка вставляется в URL, на размер кода накладываются некоторые ограничения. Вообще говоря, по спецификации, браузеры обязаны поддерживать URL не менее 1Kb. На самом деле ситуация гораздо лучше. В ходе эксперимента выяснилось, что блок кода картинки до 32Kb можно смело использовать во всех популярных браузерах (FF, Opera, Chorme, Safari, IE6+). При размере больше 32Kb пасует IE8. Но, если для IE8 использовать не data: URL, а MHTML-включение (как для IE6-7), то можно использовать код до 64Kb. Важная оговорка! Цифры, приведенные выше, относятся именно к размеру base64-кода картинки. Фактический размер изначального изображения должен быть примерно на треть меньше. Таким образом, имеем безопасное ограничение для размера встраиваемой картинки примерно 20Kb. В чем сила, брат?Итак, можно с помощью специального сервиса превращать картинки в строки кода и вставлять их в HTML/CSS. Но это же уйма дополнительной работы! Для чего это все? Преимуществ метода достаточно много. Вот перечень показавшихся наиболее существенными:
Обратная сторона медалькиНедостатков тоже хватает:
Где применять?Перечень достоинств и недостатков весьма внушительный. Однозначно одобрить или забраковать данную технологию невозможно. Просто она имеет ограниченную область применения. Очевидно, что выигрыш от использования data:URL для CSS существенно больше, чем для HTML (где теряем выгоды от кеша и получаем дополнительный геммор с IE6-7). Так же имеем очень существенную оговорку о максимальном размере закодированного файла (да еще для разных браузеров он разный). Вывод напрашивается сам собой: встроенные, при помощи data:URL, изображения имеет смысл использовать в CSS, для небольших фоновых картинок — получим выигрыш в быстродействии. Подходит для высоконагрузочных проектов, или проектов, где важна скорость загрузки. О производительностиupdate 23.02.11 by Ksayri Применение data:URL способно существенно снизить (до 10 раз) производительность некоторых браузеров. В частности это касается Firefox (который тратит очень много ресурсов на обработку base64) и IE6-7 (которым приходится иметь дело с mhtml). Чем больше будет data:URL на странице, тем больше будет тормозить. Поэтому сейчас оптимальным решением будет приметь сначала CSS спрайты, а затем преобразовывать минимальное количество спрайтов в data:URL. |