Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2007, 15:01   #1
kl45gp
Пользователь
 
Регистрация: 28.03.2007
Сообщений: 25
По умолчанию

Всем кто откликнулся!

тема такая: Пишу игру и тут понимаю, что рисовать чела по направлению в перёд и назад тупо, и не удобно. Ну и подумал "Может нарисовать по направлению в перёд, а для направления назад просто повернуть на 180", да фишка есть! НО КАК ПОВЕРНТЬ ИЗОБРАЖЕНИЕ(image) НА 180 градусов???
... если программист играет в игры на работе, то либо у него мало работы и большая зарплата, либо у него много работы и маленькая зарплата...

Последний раз редактировалось execom; 30.03.2007 в 11:24. Причина: Слил с флуд-постом!
kl45gp вне форума Ответить с цитированием
Старый 29.03.2007, 22:37   #2
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Нашёл разворот на 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;
Alar вне форума Ответить с цитированием
Старый 30.03.2007, 10:25   #3
kl45gp
Пользователь
 
Регистрация: 28.03.2007
Сообщений: 25
По умолчанию

Большое спасибо!
Вечером протестирую...
... если программист играет в игры на работе, то либо у него мало работы и большая зарплата, либо у него много работы и маленькая зарплата...
kl45gp вне форума Ответить с цитированием
Старый 11.05.2013, 13:10   #4
Pilyla
Пользователь
 
Регистрация: 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.
Pilyla вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поворот 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