![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Всем регардсы !
Собственно вопрос: пользователь загружает во флеш изображения, некоторые из них имеют цветовое пространство CMYK. Так как CMYK не поддерживается флешем, то эти картинки отображаются как попало. Можно ли как-нибудь средствами флеша определить какое цветовое пространство имеет данное изображение и преобразовать его в изображение с другим цветовым пространством ? Или, если можете, подскажите плз с помощью какой серверной технологии этого лучше всего добится ? Суть проблемы в том, что нужно преобразовывать не все входящие изображения, а лишь те, которые в CMYK цветах... |
|
|||||
|
А дайте ссылку на картинку с CMYK цветом ?!!
Еще интересно какой технологии у вас монитор который отображает в CMYK-е? -)
__________________
Сам себе репортер |
|
|||||
|
картинка в CMYK-е:
ЗЫ:у мну монитор самый обыкновенный, а у вас ? ![]() Может, кто-нибудь знает готовый компонент(можно даже платный) для работы с CMYK изображениями во флеше? Последний раз редактировалось etc; 14.05.2008 в 23:19. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А в оригинале картинка как выглядит?
|
|
|||||
|
Это и есть картинка в оригинале, а вот такой она становится после подгрузки в приложение:
|
|
|||||
|
Modus ponens
|
Был плагин к акробату, у нас в газете пользовались, он мог конвертировать на автопилоте картинки... но я даж уже не помю, как назывался + конвертация отвратного качества получалась, лучше было руками делать... А с CMYK ты просто умаешься... там ведь еще профайлы и настроек куча, типа максимального количества черного, максимального общего количества краски и т.д... боюсь, что автоматом конвертировать не получится, разве что какой-нибудь скрин капчурер настроить, чтобы скриншоты делал, но, все-равно, качество сильно пострадает... легче заказчика научить фотошопом пользоваться - дешевле выйдет =)
|
|
|||||
|
Сам алгоритм преобразования довольно нехитрый:
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 картинки, чтобы получить доступ к матрице... |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
К какой матрице? Загрузите картинку, получите Bitmap, а у него bitmapData и делайте с ней, что хотите.
Только вот, для использования функции, вам надо сначала получить эти самые c, m, y, k на входе. |
|
|||||
|
Все это верно для обычных картинок, если грузить в CMYK то и BitmapData у нее получается искаженной.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 09:55. |
|
|
« Предыдущая тема | Следующая тема » |
|
|