Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Теряется полупрозрачность (http://www.flasher.ru/forum/showthread.php?t=215684)

Swer 21.12.2018 19:46

Теряется полупрозрачность
 
Добрый день.:)
У меня появилась проблема при сохранении png изображения из Flash. Я использую класс PNGEncoder.as для преобразования BitmapData в ByteArray, затем FileReference для сохранения, но почему-то изображение сохраняется без полупрозрачных пикселей.
Как это можно исправить ?

СлаваRa 21.12.2018 21:01

Скорее всего вам никто не поможет, потому что никто не знает с каким кодом вы работаете, или у всех есть ваш PNGEncoder.as или это такой супер популярный код, что его все знают?

Попробуйте стандартные методы

Swer 22.12.2018 07:00

Спасибо, попробовал, но результат тот-же.
Цитата:

Сообщение от СлаваRa (Сообщение 1206221)
или это такой супер популярный код, что его все знают?]

Да именно так:), в версии flash player 11.2 и ниже и Air 3.2 и ниже, PNGEncoderOptions - не существовало,
поэтому хорошие люди написали и поделились со всеми классами PNGEncoder и JPGEncoder.
Решил проблему так :
--- В конструкторе класса приложения дописал stage.quality = StageQuality.BEST;
--- вместо bitmapData.draw( mc , _matrix ); использовал -
bitmapData.drawWithQuality( mc , _matrix, null, null, null, true, StageQuality.BEST );
Вроде результат наилучший из возможных.

caseyryan 23.12.2018 10:08

Цитата:

Сообщение от Swer (Сообщение 1206222)
Спасибо, попробовал, но результат тот-же.

Да именно так:), в версии flash player 11.2 и ниже и Air 3.2 и ниже, PNGEncoderOptions - не существовало,
поэтому хорошие люди написали и поделились со всеми классами PNGEncoder и JPGEncoder.
Решил проблему так :
--- В конструкторе класса приложения дописал stage.quality = StageQuality.BEST;
--- вместо bitmapData.draw( mc , _matrix ); использовал -
bitmapData.drawWithQuality( mc , _matrix, null, null, null, true, StageQuality.BEST );
Вроде результат наилучший из возможных.

Всего этого делать было не обязательно. Этого было бы достаточно
Цитата:

bitmapData.drawWithQuality( mc , _matrix, null, null, null, true);
6 параметр, где true, это и есть прозрачность. Нужно иногда читать доки, или хотя бы названия параметров

Swer 23.12.2018 14:28

Разве 6 параметр это не smoothing ?
Код AS3:

bitmapData.drawWithQuality( mc , _matrix, null, null, null, true);

А вот здесь прозрачность
Код AS3:

bitmapData.copyPixels( bitmapData_src, new Rectangle(0,0,10,10), new Point(), null, null, true);

Или smoothing тоже влияет на прозрачность ?

caseyryan 23.12.2018 20:19

Упс. сорян) Не обратил внимание, что там не copyPixels использовался


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

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