You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ksquirrel/doc/ru/internals-libs.html

12 lines
10 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<html><head><title>Свои библиотеки</title><link rel="stylesheet" href="help:/common/kde-default.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.67.2"><meta name="keywords" content="KDE, image, viewer, picture"><link rel="start" href="index.html" title="KSquirrel Руководство Пользователя"><link rel="up" href="internals.html" title="Глава 2. Отличие KSquirrel от других просмотрщиков. Свои библиотеки."><link rel="prev" href="internals.html" title="Глава 2. Отличие KSquirrel от других просмотрщиков. Свои библиотеки."><link rel="next" href="interface.html" title="Глава 3. Интерфейс"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.13 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div style="background-image: url(help:/common/top-middle.png); width: 100%; height: 131px;"><div style="position: absolute; right: 0px;"><img src="help:/common/top-right-konqueror.png" style="margin: 0px" alt=""></div><div style="position: absolute; top: 25px; right: 100px; text-align: right; font-size: xx-large; font-weight: bold; text-shadow: #fff 0px 0px 5px; color: #444">Свои библиотеки</div></div><div style="margin-top: 20px; background-color: #white; color: black; margin-left: 20px; margin-right: 20px;"><div style="position: absolute; left: 20px;"><a accesskey="p" href="internals.html">Пред.</a></div><div style="position: absolute; right: 20px;"><a accesskey="n" href="interface.html">След.</a></div><div class="navCenter">Отличие KSquirrel от других просмотрщиков. Свои библиотеки.</div></div><div class="sect1" lang="ru"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="internals-libs"></a>Свои библиотеки</h2></div></div></div><p>Почти во всех программах просмотра изображений для декодирования используются сторонние библиотеки. Примером могут служить такие библиотеки как imlib (Image Magic) и Qt. На первый взгляд, преимущества такого способа очевидны - это перекладывание головной боли по декодированию изображений на другие библиотеки, вообще абстрагируясь от низкого уровня работы с изображениями, альфа каналами, битовыми масками, RLE кодированием и прочего. Но у этого способа есть несколько очевидных недостатков. К ним причисляется, во-первых, частичное отсутствие расширяемости набора кодеков изображений. Во-вторых, это зависимость кодеков от больших (а иногда очень больших) библиотек, типа Qt. В-третьих, отсутствие поддержки анимаций, типа GIF, FLI или MNG. В-четвёртых, отсутствие возможности декодирования отдельных строк.</p><p>
Исходя из всех этих недостатков, было решено отказаться от помощи сторонних библиотек и разработать собственные библиотеки, которые могли бы не зависеть от других библиотек, кроме стандартных и требуемых самими кодеками (такие, как libsvg, libmng и др.), загружаться динамически, быть полностью расширяемыми, поддерживать декодирование строк и анимацию. Эти библиотеки получили название «<span class="quote">ksquirrel-libs</span>».
</p><p>
На момент написания данной документации ksquirrel-libs поддерживал 51 формат изображений, включая <span class="acronym">PNG</span>, <span class="acronym">JPEG</span>, <span class="acronym">Photoshop PSD</span>, <span class="acronym">AutoCAD DXF</span>, <span class="acronym">WMF</span>, <span class="acronym">SVG</span>, <span class="acronym">MNG</span> и <span class="acronym">GIF</span>. Имеются также кодеки для поддержки файлов шрифтов <span class="acronym">TTF</span>, анимаций <span class="acronym">FLI</span> и X-овых курсоров.
</p><p>
ksquirrel-libs поддерживает также текстовые поля (комментарии и др.), сохраняемые в некоторых типах изображений. Например, PNG и GIF кодеки способны читать комментарии из данных типов файлов.
</p><div class="sect2" lang="ru"><div class="titlepage"><div><div><h3 class="title"><a name="internals-specific"></a>Работа KSquirrel с библиотеками</h3></div></div></div><p>
Благодаря вышеуказанным свойствам библиотек ksquirrel-libs, KSquirrel приобретает следущие особенности:
<div class="orderedlist"><ol type="1"><li><p>KSquirrel практически не знает, какой кодек будет использован для декодирования изображения - это определяется динамически.</p></li><li><p>KSquirrel практически не знает, сколько страниц в декодируемом изображении и является ли оно анимацией - это определяется динамически.</p></li><li><p>Благодаря поддержке декодирования отдельных строк, KSquirrel показывает изображения прогрессивно, т.е. по мере декодирования.</p></li></ol></div>
</p><p>Когда KSquirrel загрузил все найденные библиотеки (используя Qt класс QLibrary), появляется возможность отображать любые поддерживанмые типы изображений (как статичных, так и анимированных). Когда пользователь выбирает изображение в навигаторе, KSquirrel по MIME типу либо расширению файла определяет, поддерживается ли данный формат изображения. Если данный формат поддерживается, то, используя найденную библиотеку, KSquirrel приступает к декодированию изображения и отображению его в окне просмотра.</p><p>Информацию о всех найденных кодеках можно просмотеть в диалоге «<span class="quote">Информация о плагинах</span>», как показано на скриншоте.</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><hr><img src="plugins_info.png" alt="Информация по найденным кодекам"><hr></div></div><p>Подсказка: слева от имени кодека может отображаться значёк настроек, как показано на рисунке для кодека GIMP XCF. Это означает, что данный кодек может быть настроен для работы с различными параметрами. Например, для кодека GIMP XCF можно настроить цвет фона для прозрачных изображений.</p></div></div><div style="background-color: #white; color: black; margin-top: 20px; margin-left: 20px; margin-right: 20px;"><div style="position: absolute; left: 20px;"><a accesskey="p" href="internals.html">Пред.</a></div><div style="position: absolute; right: 20px;"><a accesskey="n" href="interface.html">След.</a></div><div align="center"><a accesskey="h" href="index.html">Начало</a></div></div><div style="background-color: #white; color: black; margin-left: 20px; margin-right: 20px;"><div class="navLeft">Отличие KSquirrel от других просмотрщиков. Свои библиотеки. </div><div class="navRight"> Интерфейс</div><div class="navCenter"><a accesskey="u" href="internals.html">Уровень выше</a></div></div><br><br><div class="bannerBottom" style="background-image: url(help:/common/bottom-middle.png); background-repeat: x-repeat; width: 100%; height: 100px; bottom:0px;"><div class="BannerBottomRight"><img src="help:/common/bottom-right.png" style="margin: 0px" alt=""></div><div class="bannerBottomLeft"><img src="help:/common/bottom-left.png" style="margin: 0px;" alt=""></div><div id="comments" style="position:relative; top: 5px; left: 1em; height:85px; width: 50%; color: #cfe1f6"><p>Would you like to make a comment or contribute an update to this page?<br>
Send feedback to the <a href="mailto:kde-docs@kdemail.net" style="background:transparent; color:#cfe1f6; text-decoration: underline;">KDE Docs Team</a></p></div></div></body></html>