Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Подгрузка изображений в CMYK формате (http://www.flasher.ru/forum/showthread.php?t=112002)

alekslitvinenk 14.05.2008 20:36

Подгрузка изображений в CMYK формате
 
Всем регардсы !
Собственно вопрос: пользователь загружает во флеш изображения, некоторые из них имеют цветовое пространство CMYK. Так как CMYK не поддерживается флешем, то эти картинки отображаются как попало. Можно ли как-нибудь средствами флеша определить какое цветовое пространство имеет данное изображение и преобразовать его в изображение с другим цветовым пространством ?
Или, если можете, подскажите плз с помощью какой серверной технологии этого лучше всего добится ? Суть проблемы в том, что нужно преобразовывать не все входящие изображения, а лишь те, которые в CMYK цветах...

terbooter 14.05.2008 22:47

А дайте ссылку на картинку с CMYK цветом ?!!
Еще интересно какой технологии у вас монитор который отображает
в CMYK-е?
-)

wvxvw 14.05.2008 23:08

Вложений: 1
Зря смеешься =) JPEG может быть в CMYK.

alekslitvinenk 14.05.2008 23:09

Вложений: 1
картинка в CMYK-е:
ЗЫ:у мну монитор самый обыкновенный, а у вас ? :mosking:

Может, кто-нибудь знает готовый компонент(можно даже платный) для работы с CMYK изображениями во флеше?

etc 14.05.2008 23:20

Цитата:

Сообщение от alekslitvinenk (Сообщение 739248)
картинка в CMYK-е:
ЗЫ:у мну монитор самый обыкновенный, а у вас ? :mosking:

А в оригинале картинка как выглядит?

alekslitvinenk 14.05.2008 23:53

Вложений: 1
Это и есть картинка в оригинале, а вот такой она становится после подгрузки в приложение:

wvxvw 15.05.2008 00:41

Был плагин к акробату, у нас в газете пользовались, он мог конвертировать на автопилоте картинки... но я даж уже не помю, как назывался + конвертация отвратного качества получалась, лучше было руками делать... А с CMYK ты просто умаешься... там ведь еще профайлы и настроек куча, типа максимального количества черного, максимального общего количества краски и т.д... боюсь, что автоматом конвертировать не получится, разве что какой-нибудь скрин капчурер настроить, чтобы скриншоты делал, но, все-равно, качество сильно пострадает... легче заказчика научить фотошопом пользоваться - дешевле выйдет =)

alekslitvinenk 15.05.2008 01:31

Сам алгоритм преобразования довольно нехитрый:

Код:


    function cmyk_to_rgb(c:int, m:int, y:int, k:int):Object
    {
    var r:int = 255 - Math.round(2.55 * (c+k)) ;
    var g:int = 255 - Math.round(2.55 * (m+k)) ;
    var b:int = 255 - Math.round(2.55 * (y+k)) ;
 
    if(r<0) r = 0 ;
    if(g<0) g = 0 ;
    if(b<0) b = 0 ;
 
    var o:Object = new Object();
    o.r = r ;
    o.g = g ;
    o.b = b ;
 
    return o ;
    }

Результирующее качество удовлетворительное.
Вопрос: как распарсить ByteArray картинки, чтобы получить доступ к матрице...

etc 15.05.2008 10:15

К какой матрице? Загрузите картинку, получите Bitmap, а у него bitmapData и делайте с ней, что хотите.
Только вот, для использования функции, вам надо сначала получить эти самые c, m, y, k на входе.

alekslitvinenk 15.05.2008 19:36

Все это верно для обычных картинок, если грузить в CMYK то и BitmapData у нее получается искаженной.

wvxvw 15.05.2008 19:47

Угу, вчера уже пробовал, думал можно будет как-то по каналам скопировать, а потом слить в одну, но нет... голубой просто теряется, а логику искажения остальных я так и не понял...
А парсить JPEG по байтам... это, ну как бы почитав доки, мне показалось, что задача не просто нетривиальная, а, как минимум на диссертацию потянет %) так что боюсь, что флешем пока никак...


Да, кстати, а чем наш форум превьюшки генерит для картинок в аттачменте? :rolleyes:

alekslitvinenk 15.05.2008 19:53

Цитата:

Да, кстати, а чем наш форум превьюшки генерит для картинок в аттачменте?
Наверняка функциями из gd библиотеки для php


Часовой пояс GMT +4, время: 08:47.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.