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

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

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

Регистрация: Nov 2009
Сообщений: 22
Question Маска изображения

Здравствуйте!
Вопрос может и не нов, но я не могу его правильно конкретизировать, чтобы найти для себя ответ по поиску.
Задача наверное банальна, и состоит в следующем:
Есть определенная фигура (квадрат с закругленными углами), как мне загрузить в него фото или картинку, чтобы она не выступала, подрихтовывалась именно пож этот размер?

Старый 24.11.2009, 21:18
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 2  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Назначаем изображению такую же фигуру в качестве маски:

Код AS3:
//предполагается, что переменной image присвоен экземпляр изображения
var background:Sprite = new ShapeClass();
var imageMask:Sprite = new ShapeClass();
image.mask = imageMask;
 
addChild(background);
addChild(image);
addChild(imageMask);

Старый 24.11.2009, 21:57
t0di вне форума Посмотреть профиль Отправить личное сообщение для t0di Найти все сообщения от t0di
  № 3  
Ответить с цитированием
t0di

Регистрация: Nov 2009
Сообщений: 22
Ммм... совсем не ясен ответ...

Добавлено через 4 минуты
Сначала я загружаю через Loader изображение в мой спрайт:
Код AS3:
var container:Sprite = new Sprite();
...
pictLdr.contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoaded);
 
function imgLoaded(event:Event){
container.addChild(pictLdr.content);// 
}
Фигура, типа MovieClip по имени img находится на сцене, нужно, чтобы в эту фигуру загрузилось изображение container, растянутое или уменьшенное именно под эту фигуру.

Старый 24.11.2009, 22:52
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 4  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Так вам нужно изменить размер изображения или замаскировать его (т.е. сделать углы изображения таже закруглёнными)? Или и то, и другое?

Если вам нужно замаскировать, то необходимо получить ещё один экземпляр, совпадающий с img, и назначить его маской для pictLdr. Чтобы это сделать, необходимо назначить фигуре, находящейся в библиотеке, имя класса для экспорта (в моём предыдущем примере ShapeClass). И создавать экземпляр фигуры с помощью операции new, а не брать его со сцены.

Старый 24.11.2009, 23:12
t0di вне форума Посмотреть профиль Отправить личное сообщение для t0di Найти все сообщения от t0di
  № 5  
Ответить с цитированием
t0di

Регистрация: Nov 2009
Сообщений: 22
Нужно и то и другое, чтобы изображение полностью находилось в моей фигуре (и углы изображения тогда тоже будут выглядеть закругленными). Вышесказанное понятно, спасибо, правда пока какая-то каша получается всё равно(((

Старый 24.11.2009, 23:26
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 6  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Если просто установить изображению такой же размер, как и фону, то оно от этого закруглённым не станет =) Нужно либо задавать меньший размер (чтобы вокруг него оставалась "рамочка" из фонового изображения), либо маскировать.

Если решите не маскировать, то можно обойтись без установки класса экспорта вашей фигуры, а брать её экземпляр со сцены (что, впрочем, не очень хорошо).

Старый 25.11.2009, 00:04
t0di вне форума Посмотреть профиль Отправить личное сообщение для t0di Найти все сообщения от t0di
  № 7  
Ответить с цитированием
t0di

Регистрация: Nov 2009
Сообщений: 22
так я бы с удовольствием что-нибудь решил, если бы знал как =)
Нужно всё же сделать маску....

Старый 25.11.2009, 00:34
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 8  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
грузите битмап..берете из него битмапДату, через графикс рисуете ею квадрат с закругленными краями )

см.
BitmapData
Graphics
beginBitmapFill
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 25.11.2009, 00:50
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 9  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Если всё ограничивается закруглёнными краями, то отличный вариант, и быстрый к тому же.

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

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

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


 


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


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