|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.03.2007, 15:01 | #1 |
Пользователь
Регистрация: 28.03.2007
Сообщений: 25
|
Всем кто откликнулся!
тема такая: Пишу игру и тут понимаю, что рисовать чела по направлению в перёд и назад тупо, и не удобно. Ну и подумал "Может нарисовать по направлению в перёд, а для направления назад просто повернуть на 180", да фишка есть! НО КАК ПОВЕРНТЬ ИЗОБРАЖЕНИЕ(image) НА 180 градусов???
... если программист играет в игры на работе, то либо у него мало работы и большая зарплата, либо у него много работы и маленькая зарплата...
Последний раз редактировалось execom; 30.03.2007 в 11:24. Причина: Слил с флуд-постом! |
29.03.2007, 22:37 | #2 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,522
|
Нашёл разворот на 270 градусов. 180, я думаю, аналогично.
Пасибо всем большое за обсуждение темы всем кому на будущее пригодится. Везде, где 31 это размер изображения ширина:32, высота:32, (указан массив от 0). Используется изображение BitMap, для большей универсальности можно просчитывать размер изображение и разумеется, если изображение не квадратное, то менять еще и размер Image'а (х на у, и соответственно у на х). Для особо страждующих можно конечно запихнуть все это и в линейный массив, координаты и все цыклы пересчитывайте сами. //------------------------------------------------------------- Процедура на буттон 1: разворот изображение по часовой стрелки на 90°. Процедура на буттон 2: разворот изображение против часовой стрелки на 90°. Процедура на буттон 3: зеркальное отображение рисунка по горизонтали. Процедура на буттон 4: зеркальное отображение рисунка по вертикали. var Form1: TForm1; PixelsArray: array [0..31, 0..31, 0..0] of integer; implementation {$R *.dfm} Procedure AddArray(Image: TImage); var x,y :integer; begin for x:=0 to 31 do begin for y:=0 to 31 do begin PixelsArray[x][y][0]:=Image.Canvas.Pixels[x,y]; end; end; end; procedure TForm1.FormShow(Sender: TObject); begin AddArray(Image1); end; procedure TForm1.Button1Click(Sender: TObject); var x,y,z :integer; begin z:=31; for x:=0 to 31 do begin for y:=0 to 31 do begin image1.Canvas.Pixels[x,y]:=PixelsArray[y][z][0]; end; z:=z-1; end; AddArray(Image1); end; procedure TForm1.Button2Click(Sender: TObject); var x,y,z :integer; begin for x:=0 to 31 do begin z:=31; for y:=0 to 31 do begin image1.Canvas.Pixels[x,y]:=PixelsArray[z][x][0]; z:=z-1; end; end; AddArray(Image1); end; procedure TForm1.Button3Click(Sender: TObject); var x,y,z :integer; begin z:=31; for x:=0 to 31 do begin for y:=0 to 31 do begin image1.Canvas.Pixels[x,y]:=PixelsArray[z][y][0]; end; z:=z-1; end; AddArray(Image1); end; procedure TForm1.Button4Click(Sender: TObject); var x,y,z :integer; begin for x:=0 to 31 do begin z:=31; for y:=0 to 31 do begin image1.Canvas.Pixels[x,y]:=PixelsArray[x][z][0]; z:=z-1; end; end; AddArray(Image1); end; |
30.03.2007, 10:25 | #3 |
Пользователь
Регистрация: 28.03.2007
Сообщений: 25
|
Большое спасибо!
Вечером протестирую...
... если программист играет в игры на работе, то либо у него мало работы и большая зарплата, либо у него много работы и маленькая зарплата...
|
11.05.2013, 13:10 | #4 |
Пользователь
Регистрация: 16.12.2012
Сообщений: 42
|
пишет: can only modify an image if it contains a bitmap...Что изменить? (там где баттон 1)
а если изменить PixelsArray[x][y][0]:=Image.picture.Bitmap.Canvas.Pixel s[x,y]; ,то ничего не выводит Последний раз редактировалось Pilyla; 11.05.2013 в 13:14. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
поворот bitmapa на n градусов | DmT | Общие вопросы C/C++ | 1 | 01.08.2008 02:09 |
Прога по переводу градусов | ELL | Помощь студентам | 8 | 04.07.2008 23:02 |
Нарисовать,стереть,повернуть,отразить в паскале! | Барби | Помощь студентам | 2 | 23.04.2008 00:24 |
Изображение | Artem | Мультимедиа в Delphi | 10 | 13.07.2007 13:27 |
развернуть label на 90 градусов вертикально | Inbox | Компоненты Delphi | 2 | 11.06.2007 15:30 |