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

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

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

Регистрация: Dec 2008
Сообщений: 41
По умолчанию Фигурная обрезка битмапом по маске

1. Картинку которую нужно фигурно обрезать делаю битмапом.
2. Фигуру маски по которой нужного обрезать картинку делаю битмапом.
3. Создаю пустые клипы-контейнеры для этих битмапов. Для каждого свой.
4. В эти клипы помещаю по битмапу. В один клип картинку. Во второй маску.
5. Клип с маской располагаем над клипом с картинкой и задаём маской.
6. Но обрезка происходит не по фигуре маски, а по прямоугольнику битмапа который сделали из клипа с маской.
Подскажите, как сделать фигурную обрезку изображения посредством битмапа, так, что-бы в результате осталась видимая обасть заданая маской. И что-бы в результате эта получившаяся фигурная видимая область была отдельным клипом, который бы не содержал прозрачной прямоугольной области. Т.е. если к этому клипу применить startDrag, то взять его можно было только за видимую фигурную область, оставшуюся после обрезки по маске. А не за прямоугольник с прозрачностью в котором находится оставшаяся фигурная область после задания маски.

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

Регистрация: Oct 2005
Адрес: Москва
Сообщений: 491
Отправить сообщение для alekslitvinenk с помощью ICQ Отправить сообщение для alekslitvinenk с помощью AIM Отправить сообщение для alekslitvinenk с помощью Skype™
Цитата:
2. Фигуру маски по которой нужного обрезать картинку делаю битмапом.
битмап всегда имеет прямоугольную форму, используйте шейпы

Старый 06.07.2009, 14:42
zaidite вне форума Посмотреть профиль Отправить личное сообщение для zaidite Найти все сообщения от zaidite
  № 3  
Ответить с цитированием
zaidite

Регистрация: Dec 2008
Сообщений: 41
Т.е. Сделать всё тоже самое, только не через битмап, а через шейп?

Старый 06.07.2009, 14:46
alekslitvinenk вне форума Посмотреть профиль Отправить личное сообщение для alekslitvinenk Посетить домашнюю страницу alekslitvinenk Найти все сообщения от alekslitvinenk
  № 4  
Ответить с цитированием
alekslitvinenk
 
Аватар для alekslitvinenk

Регистрация: Oct 2005
Адрес: Москва
Сообщений: 491
Отправить сообщение для alekslitvinenk с помощью ICQ Отправить сообщение для alekslitvinenk с помощью AIM Отправить сообщение для alekslitvinenk с помощью Skype™
т.е вместо картинки с прозрачными областями, используйте векторный шейп, внутри мувика, который хотите сделать маской.

Старый 06.07.2009, 15:08
zaidite вне форума Посмотреть профиль Отправить личное сообщение для zaidite Найти все сообщения от zaidite
  № 5  
Ответить с цитированием
zaidite

Регистрация: Dec 2008
Сообщений: 41
Сейчас объясню подробнее.
Есть два одинаковых изображения. Пик1 и Пик2. На изображении Пик1 четырьмя кликами выделяется некая произвольная область. По координатам этих кликов отрисовывается четырёхугольник этой выделенной области. Этот четырёхугольник выделенной области должен стать маской, по которой обрежется изображение Пик2.
В результате должно получится следующее: мы имеем изображение Пик1, на котором видим нашу выделенную область. И фрагмент изображения Пик2, оставшийся после обрезки по области выделения. Но этот фрагмент не должен содержать прозрачности. А должен обрезаться именно по области выделения, для того, что-бы с ним можно было дальше производить трансформации.

Старый 06.07.2009, 15:19
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 6  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Рисуете шейп-маску mask по координатам вершин четырехугольника. потом
Код AS1/AS2:
Пик2.setMask(mask);
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 06.07.2009, 15:27
zaidite вне форума Посмотреть профиль Отправить личное сообщение для zaidite Найти все сообщения от zaidite
  № 7  
Ответить с цитированием
zaidite

Регистрация: Dec 2008
Сообщений: 41
dimarik, не совсем понимаю, что-такое шейп-маска. Вы имеете в виду использовать класс Shape для рисования маски? Или это что-то другое? Поясните пожалуйста.

Старый 06.07.2009, 15:32
alekslitvinenk вне форума Посмотреть профиль Отправить личное сообщение для alekslitvinenk Посетить домашнюю страницу alekslitvinenk Найти все сообщения от alekslitvinenk
  № 8  
Ответить с цитированием
alekslitvinenk
 
Аватар для alekslitvinenk

Регистрация: Oct 2005
Адрес: Москва
Сообщений: 491
Отправить сообщение для alekslitvinenk с помощью ICQ Отправить сообщение для alekslitvinenk с помощью AIM Отправить сообщение для alekslitvinenk с помощью Skype™
имелось виду пользоваться графическими API такими как lineTo, curveTo для отрисовки формы.

Старый 06.07.2009, 16:01
zaidite вне форума Посмотреть профиль Отправить личное сообщение для zaidite Найти все сообщения от zaidite
  № 9  
Ответить с цитированием
zaidite

Регистрация: Dec 2008
Сообщений: 41
Собственно таким образом и создаётся выделенная область. А.а.а.а... Кажется понял... Нужно отрисовать точно такуюже область, по тем-же координатам, только уже в мувике с Пик2 и назначить его маской для Пик2. Я верно понял?

Старый 06.07.2009, 16:07
alekslitvinenk вне форума Посмотреть профиль Отправить личное сообщение для alekslitvinenk Посетить домашнюю страницу alekslitvinenk Найти все сообщения от alekslitvinenk
  № 10  
Ответить с цитированием
alekslitvinenk
 
Аватар для alekslitvinenk

Регистрация: Oct 2005
Адрес: Москва
Сообщений: 491
Отправить сообщение для alekslitvinenk с помощью ICQ Отправить сообщение для alekslitvinenk с помощью AIM Отправить сообщение для alekslitvinenk с помощью Skype™
ага

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

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

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


 


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


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