Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.12.2013, 17:39
viktorami вне форума Посмотреть профиль Отправить личное сообщение для viktorami Найти все сообщения от viktorami
  № 1  
Ответить с цитированием
viktorami

Регистрация: Sep 2011
Сообщений: 524
По умолчанию дырка в картинке

из которой видна картинка что внизу. Я понимаю, что это делается маской, но никак не могу понять как это можно сделать в среде builder, то есть программными средствами as3

Старый 06.12.2013, 18:14
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 2  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Попробуйте это:
http://stackoverflow.com/questions/4...-of-bitmapdata
http://www.pixelthismobile.com/blog/?p=131

Старый 06.12.2013, 18:49
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 3  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Не помню как это называется, но если нарисовать круг программно и потом применить к нему наложение ( тоже не помню какое ), то будет дырка. Свой ответ из одних "не помню" я дал только потому, чтобы на него кто то ответил и я всё же вспомнил!)

Старый 06.12.2013, 20:04
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>> Я понимаю, что это делается маской
не обязательно маской, например на 32битной картинке дырку можно просто 'нарисовать'
Код AS3:
public class Main extends Sprite 
{
	[Embed(source = "pic.png")]
	public const pic_png:Class;
 
	public function Main():void 
	{
 
		// картинка, д. б. 32-битная, иначе вместо 'дырки' будет чернота
		var bmp:Bitmap = new pic_png() as Bitmap;
		addChild(bmp);
 
		// дырка
		var canvas:Shape = new Shape();
		canvas.graphics.beginFill(0x0);
		canvas.graphics.drawCircle(200, 200, 50);
		bmp.bitmapData.draw(canvas, null, null, BlendMode.ERASE);
	}
 
}
программно нарисовать шейп с дыркой можно (рисуем, не переключая beginFill\endFill, по нарисованному и получаем дырку), но как маска такой шейп дырки не даст, а только как цельная заливка

Старый 06.12.2013, 20:13
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 5  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Спасибо!

Старый 10.12.2013, 12:53
viktorami вне форума Посмотреть профиль Отправить личное сообщение для viktorami Найти все сообщения от viktorami
  № 6  
Ответить с цитированием
viktorami

Регистрация: Sep 2011
Сообщений: 524
silin большое спасибо!

Добавлено через 5 минут
а вот интересно чисто с познавательной точки зрения: а почему 32 битная картинка дает нормальную дырку а 24 - черноту. ведь программно, технически - можно дырку прорезать в любой. почему такая избирательность искуственная?

Старый 10.12.2013, 13:49
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 7  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
ведь программно, технически - можно дырку прорезать в любой
В том то и дело, что технически нельзя. 24 бита не содержит альфа-канал и соотв. технически не может иметь прозрачные пиксели.
__________________
Reality.getBounds(this);

Старый 11.12.2013, 21:11
viktorami вне форума Посмотреть профиль Отправить личное сообщение для viktorami Найти все сообщения от viktorami
  № 8  
Ответить с цитированием
viktorami

Регистрация: Sep 2011
Сообщений: 524
а каким образом можно импортировать 32 битную картинку в swc?
попробовал tiff-не читает...

Добавлено через 3 минуты
или может можно загрузить обычный формат а уже во флэше перекодировать в 32 бита?

Старый 11.12.2013, 21:32
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 9  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
png нормально справляется с этим

но можно и перерисовать на 32-битный холст
Код AS3:
var bmd:BitmapData = new BitmapData(bmp.width, bmp.height, true, 0);
bmd.draw(bmp);
var bmp32:Bitmap = new Bitmap(bmd);

Старый 11.12.2013, 21:40
viktorami вне форума Посмотреть профиль Отправить личное сообщение для viktorami Найти все сообщения от viktorami
  № 10  
Ответить с цитированием
viktorami

Регистрация: Sep 2011
Сообщений: 524
подождите. а разве есть 32 битный png? у меня вот - фотошоп отказался сохранять в png после выбора режима 32 бита на канал

Добавлено через 1 минуту
а где в в вашем коде переход на 32 битный холст? там вроде такого параметра нет - битность.

Добавлено через 4 минуты
да! сработало! а почему эта перерисовка привела к переходу в 32 битный формат то?
а можно это сразу сделать в png?

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:06.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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