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

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

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

Регистрация: Feb 2008
Сообщений: 111
По умолчанию Почему-то не рисуется битмап (или рисуется не туда)

pic1.draw (pic3, new Matrix (1, 0, 0, 1, x, y), null, BlendMode.DARKEN);
pic2.draw (pic1, null, null, BlendMode.NORMAL, new Rectangle (x, y, w, h), false);


размер pic1 500х500 а pic3 и pic2 100x100
w=100
h=100
0<=x,y<500

Если x и y < 100, то в pic2 рисуется кусок из pic1 если же x>100 или y>100 - то почему то не рисуется. Почему такое может быть?


Последний раз редактировалось mikleb; 28.03.2008 в 03:35.
Старый 28.03.2008, 10:14
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Попробуйте взять тетрадный листочек, и написать что-нибудь рядом на столе - эффект будет такой же - пустой лист =)
__________________
Hell is the possibility of sanity

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

Регистрация: Feb 2008
Сообщений: 111
Вообщем у меня есть много вопросов связанные с draw.
1)Matrix - это матрица замены координат в какой системе? у битмапа на котором рисуем или у битмапа который рисуем или еще что. Еще колор трасформэйшон это применяется к результату или к битмапу на котором рисуем , а потом уже происходит наложение. В хелпе про это совсем не ясно написано.
И самое главное как через draw на маленьком битмапе нарисовать кусок из большого битмапа.

Старый 28.03.2008, 14:52
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
pic1.draw (pic3, new Matrix (1, 0, 0, 1, x, y), null, BlendMode.DARKEN);
Вот тут матрица применяется к клипу до того как его воткнуть в битмап. Т.е. если то же самое записать словами: Взять клип, высоту и ширину не менять, переместить на х вправо и на у вниз относительно х0у0 битмапа, после чего обрезать результат по краям исходного битмапа. Т.е. получилось, что вы взяли клип, но трансформировали его так, что у него не оказалось общих точек с битмапом, в который собирались его рисовать.
__________________
Hell is the possibility of sanity

Старый 28.03.2008, 16:07
mikleb вне форума Посмотреть профиль Отправить личное сообщение для mikleb Найти все сообщения от mikleb
  № 5  
Ответить с цитированием
mikleb

Регистрация: Feb 2008
Сообщений: 111
To wvxvw
На pic1 все рисуется куда надо. А вот в pic2 почему то нужный кусок pic1 не рисуется

Старый 28.03.2008, 16:43
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Название: matrix.gif
Просмотров: 314

Размер: 2.5 Кб
Синий - незаполненные области pic1, темнозеленый - область занимаемая pic2. Т.е. что у вас получилось: Вы взяли картинку и воткнули ее в битмапдату со сдвигом по 100 пикселов вниз и вправо. Соответсвенно, когда попытались наложить - картинка оказалась вне области pic2.
Проще - скажите чего нужно сделать - попробую сделать пример, а то так до посинения объяснять можно =)
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 28.03.2008 в 16:48.
Старый 28.03.2008, 21:57
mikleb вне форума Посмотреть профиль Отправить личное сообщение для mikleb Найти все сообщения от mikleb
  № 7  
Ответить с цитированием
mikleb

Регистрация: Feb 2008
Сообщений: 111
To wvxvw
Но ведь в pic2 в месте куда пишется матрица написано null значит должно рисоваться со сдвигом 0. А кусок из pic1 который нужно нарисовать в pic2 задает Rectangle (x, y, w, h) т.е. как раз то место в pic1 где нарисован pic3

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ну так оно и рисуется со сдвигом 0, только там прозрачные пиксели... заполненые пиксели начинаются за пределами pic2...
Проще - скажите чего нужно сделать - попробую сделать пример, а то так до посинения объяснять можно =)
__________________
Hell is the possibility of sanity

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

Регистрация: Feb 2008
Сообщений: 111
To wvxvw
Мне не нужно чего то сделать, а нужно понять почему не рисует (т.е что именно делает draw).
То есть draw рисует весь сорс битмап и пропускает нарисовку пикселей вне клипректа. Но почему тогда следущий код тоже не рисует:
pic1.draw (pic3, new Matrix (1, 0, 0, 1, x, y), null, BlendMode.DARKEN);
pic2.draw (pic1,new Matrix(1,0,0,1,-x,-y), null, BlendMode.NORMAL, new Rectangle (x, y, w, h), false);

Старый 29.03.2008, 01:58
badun вне форума Посмотреть профиль Отправить личное сообщение для badun Найти все сообщения от badun
  № 10  
Ответить с цитированием
badun

Регистрация: Dec 2007
Сообщений: 269
Если не нужно чего-то сделать, а нужно понять, тем более приведи полный исходник, тогда помогут. Потому что объяснить, как выяснилось, ты нормально не можешь.

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

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

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


 


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


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