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

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

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

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
По умолчанию Как с помощью graphics нарисовать перевернутое изображение?

Проблема в том, что итоговое изображение нельзя переворачивать, т. к. над ним различные преобразования происходят позднее. Поэтому нужно сделать это раньше.
Требуется чтобы картинка вывелась "вверх ногами".

Код AS3:
private var _myImg:BitmapData;
[Embed(source= '1.jpg')]
private static const _img:Class;
 
_myImg = (new _img() as Bitmap).bitmapData;
this.graphics.clear();
this.graphics.beginBitmapFill(_myImg, null, false, true);
this.graphics.endFill();

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

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
2 параметр в методе beginBitmapFill отвечает за трансормациюю изображения
Код AS3:
this.graphics.beginBitmapFill(bd, new Matrix(1, 0, 0, -1, 0, bd.height), false, true);

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

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Код AS3:
var invImg:BitmapData = new BitmapData(_myImg.width , _myImg.height , _myImg.transparent);
        for(var i:uint = 0;i<_myImg.width;i++)
        {
            for(var j:uint = 0;j<_myImg.height;j++)
            {
                invImg.setPixel32(i , _myImg.height - j , _myImg.getPixel32(i,j));
            }
        }
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

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

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
TWETTI, да, это хороший вариант, но преобразование через Matrix лучше не использовать, т. к. оно используется в дальнейшем и получается путаница.

Genzo, спасибо, работает. Интересно этот метод не особо ест ресурсы при 3-4 десятках генерирующих картинок?

Старый 04.10.2011, 20:21
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 5  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Цитата:
Сообщение от Astraport Посмотреть сообщение
TWETTI, да, это хороший вариант, но преобразование через Matrix лучше не использовать, т. к. оно используется в дальнейшем и получается путаница.
То же самое же делает)
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

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

Регистрация: Jan 2011
Сообщений: 70
лол. бегать пикселями вместо матрицы только из-за того что изображение нельзя менять? Создайте копию через BitmapCopy и крутите как хотите. оО это всяко быстрее чем 50 раз крутить по два цикла.

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

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

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

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
В принципе переворот с помощью Matrix тоже подходит, но если честно, он меня очень путает
Вот сейчас если делать new Matrix(1, 0, 0, -1, 0, bd.height), то изображение нормально переворачивается, но перевернутое изображение выводится как зеркальное отражение.

Старый 04.10.2011, 21:25
flax4Noob вне форума Посмотреть профиль Отправить личное сообщение для flax4Noob Найти все сообщения от flax4Noob
  № 9  
Ответить с цитированием
flax4Noob

Регистрация: Jan 2011
Сообщений: 70
моск взорван.
Цитата:
но перевернутое изображение выводится как зеркальное отражение.
а как оно должно выводиться? оО

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
как перевернутое [x]
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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