Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   загрузить во флеш большой JPG юзера (http://www.flasher.ru/forum/showthread.php?t=154177)

Ляксей 13.04.2011 18:12

загрузить во флеш большой JPG юзера
 
Господа круты флеш перцы, требуется ваша помощь.

Есть jpg фотка размером 10 000x10 000 пикселей ( больше макс размера битмапдаты) на стороне юзера. Нужно её загрузить во флеш, уменьшить до размера 1200x1200 и запихнуть уже в нормальную битмапдату.

Стандартным лоадером это не удаёстся сделать, так как размеры фотки превышают максимальный размер битмапдаты.
Как я представляю, нужно этот jpg загрузить во флеш как бинарь, пережать его какой-нибудь либой и потом уже отправить в битмапдату.

Есть ли на форуме люди, готовые реализовать что-то подобное?( разумеется за достойную оплату)
Или может быть посоветуете специалиста, способного решить данный вопрос.
Благодарю

_sestra_ 13.04.2011 18:21

Я полагаю вам в раздел Вакансии

fish_r 13.04.2011 19:47

Наверно, разумнее это на стороне сервера делать. Так и объем трафика будет меньше, соотв. и ожидание окончания загрузки.

in4core 13.04.2011 20:12

Солидарен с fish_r 100% решение

Anton Riot 13.04.2011 20:21

fish_r, in4core - Вроде не написано, что эту битмапдатуу потом куда-то отправляют. Сервер вообще не фигурирует в ТЗ :)

fish_r 13.04.2011 20:54

невнимательно прочел...
дык ТЗ вроде бы и нету, просто, как плохой вариант :)

silin 13.04.2011 21:39

http://www.bytearray.org/?p=1089
на выходе массив пикселей, дальше как получится..
если жать кратно двойке, то и простым усреднением, наверное, можно

Art_133 14.04.2011 00:25

Тоже интересует данный вопрос. Silin, Вам не сложно будет привести пример кода как сжать кратно двойке?

silin 14.04.2011 09:32

нет возможности городить пример,
схема условно:
Код AS3:

pixels:Vector.<uint>//исходный массив пикселей
w:Number;//ширна картинки
h:Number;//высота
clr[x, y]:uint = pixels[x + y * width]//пиксель в x,y картинки
//ARGB пикселя
a:int = clr >> 24 & 0xFF;
r:int = clr >> 16 & 0xFF;
g:int = clr >> 8 & 0xFF;
b:int = clr & 0xFF;

//новый пиксель из среднеарифметических ARGB четырех соседних пикселей
Код AS3:

clr1 = a << 24 | r << 16 | g << 8 | b;

проходимся по исходному массиву суммируя покомпонентно пиксели (x, y),(x + 1, y),(x, y + 1),(x + 1, y + 1),
полученный складываем в новый массив, массив скармливаем BitmapData#setPixels

Ляксей 15.04.2011 17:02

полученную уменьшенную битмапдату превращаем в jpg и отсылаем на сервер.
Задача в том, чтобы взять с компа юзера бОООльшой jpg, уменьшить его, сделать некоторые преобразования и уж только потом отправлять на сторону сервера.
спасибо за ответы


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

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