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

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

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

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
По умолчанию Обрезка bitmap по содержимому.

В общем вопрос такой ( знаю, что алгоритм не сложный, но сегодня напал на меня мозговой ступор)
Есть некая битмапа - например 100 на 100, посредине (также для примера) нарисован кружочек радиусом 10. нужно обрезать битмапу по содержимому . т.е. получить битмапу
20 на 20 с кружком посередине.
Считать точки с alpha=0 - пустыми.
__________________
Отряд Котовскага

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

Регистрация: Feb 2009
Сообщений: 1,195
Так задача в обрезке или в нахождении размеров и координат области с кружком для вырезания?

Старый 03.06.2009, 18:39
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 3  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
Сообщение от VVall Посмотреть сообщение
Так задача в обрезке или в нахождении размеров и координат области с кружком для вырезания?
Это одно и то же.
Нужно найти минимальную область за пределами которой все пиксели с альфой=0;
__________________
Отряд Котовскага

Старый 03.06.2009, 18:40
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
ColorTransform + getColorBoundsRect

Старый 03.06.2009, 19:03
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 5  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
Сообщение от __etc Посмотреть сообщение
ColorTransform + getColorBoundsRect
Сенки больший, а то я начал уже делать попиксельную проверку в 4 этапа)
решение:
Цитата:
getColorBoundsRect () метод
public function getColorBoundsRect(mask:uint, color:uint, findColor:Boolean = true):Rectangle

Язык версии : ActionScript 3.0
Версии среды выполнения: 1.0 9

Определяет прямоугольный участок, полностью охватывающий все пикселы заданного цвета в пределах растрового изображения (если параметру findColor присвоено значение true), либо полностью охватывает все пикселы, не содержащие заданный цвет (если параметру findColor присвоено значение false).

Например, если имеется исходное изображение и требуется определить прямоугольник изображения, содержащий ненулевой альфа-канал, передайте в качестве параметров {mask: 0xFF000000, color: 0x00000000}. Если параметру findColor задано значение true, в пределах всего изображения ведется поиск границ с пикселами, для которых (value & mask) == color (где value — это значение цвета пиксела). Если параметру findColor задано значение false, в пределах всего изображения ведется поиск границ пикселов, для которых (value & mask)!= color (где value — это значение цвета пиксела). Чтобы определить белое пространство вокруг изображения, передайте {mask: 0xFFFFFFFF, color: 0xFFFFFFFF}, чтобы найти границы небелых пикселов.

Параметры
mask:uint — Шестнадцатеричное значение, указывающее рассматриваемые биты цвета ARGB. Значение цвета объединяется с данным шестнадцатеричным значением с использованием оператора & (побитовое И).

color:uint — Шестнадцатеричное значение, задающее цвет ARGB для соответствия (если findColor имеет значение true) или не соответствия (если findColor имеет значение false).

findColor:Boolean (default = true) — Если задано значение true, то возвращаются границы значения цвета в изображения. Если задано значение false, возвращаются границы области изображения, в которой этого цвета нет.

Возвращает
Rectangle — Область изображения, заполненная заданным цветом.
__________________
Отряд Котовскага

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

Регистрация: Jan 2009
Сообщений: 1,651
дык это он только прямоугольник определит, не?

Старый 03.06.2009, 22:32
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от iflamberg Посмотреть сообщение
дык это он только прямоугольник определит, не?
А вы можете сделать не прямоугольный битмап?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Jan 2009
Сообщений: 1,651
эм, я не понял задачу, подумал, что нужно что-то типа маски.

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

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

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


 


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


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