Форум программистов, компьютерный форум, киберфорум
Delphi: Графика, звук, видео
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 7
1

Компас

04.05.2013, 01:36. Просмотров 1275. Ответов 4
Метки нет (Все метки)

Здравствуйте, по заданию программа должна изображать на экране компас и четыре стороны света (сделано), поворачивание компаса должно осуществляться на стрелки клавиатуры. С последним проблемы - есть процедура поворота изображения вправо на 90 градусов, но сделать такую же для поворота налево не получается.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
procedure RotateRight(BitMap: tImage);
var
  FirstC, LastC, c, r: integer;
 
  procedure FixPixels(c, r: integer);
  var
    SavePix, SavePix2: tColor;
    i, NewC, NewR: integer;
  begin
    SavePix := Bitmap.Canvas.Pixels[c, r];
    for i := 1 to 4 do
    begin
      newc := BitMap.Height - r - 1 ;
      newr := c;
      SavePix2 := BitMap.Canvas.Pixels[newc, newr];
      Bitmap.Canvas.Pixels[newc, newr] := SavePix;
      SavePix := SavePix2;
      c := NewC;
      r := NewR;
    end;
  end;
 
begin
  if BitMap.Width <> BitMap.Height then
    exit;
  BitMap.Visible := false;
  with Bitmap.Canvas do
  begin
    firstc := 0;
    lastc := BitMap.Width;
    for r := 0 to BitMap.Height div 4 do
    begin
      for c := firstc to lastc do
      begin
        FixPixels(c, r);
      end;
      Inc(FirstC);
      Dec(LastC);
    end;
  end;
  BitMap.Visible := true;
end;
 
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if Key = VK_RIGHT then
    RotateRight(Image1);
end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2013, 01:36
Ответы с готовыми решениями:

Библиотека для КОМПАС-2D на делфи. Как выводить элементы от места клика мыши, а не по статическим координатам?
Есть простенькая библиотека на делфи для компаса. Ее задача - выводить изображения резисторов,...

КОМПАС V15 в КОМПАС V13
Помогите, пожалуйста, пересохранить файл:( из V15 в V13 КОМПАС

Чертежи из Компас 16 открыть в Компас 15
Помогите мне пожалуйста, у меня чертежи сделаны в 16 компасе, можно пересохранить как то их что бы...

Компас 3D
Подскажите как поменять внутренние рамки спецификации с синего на чёрный в 2017 версии ????

4
2474 / 1850 / 242
Регистрация: 14.09.2012
Сообщений: 5,981
Записей в блоге: 2
04.05.2013, 04:26 2
Код поворота на любой угол.
1
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 7
04.05.2013, 17:22  [ТС] 3
Спасибо, но поворот идет через левую верхнюю точку (так, кажется), а мне желательно через центр. В общем, чтобы изображение никуда не смещалось.
0
2474 / 1850 / 242
Регистрация: 14.09.2012
Сообщений: 5,981
Записей в блоге: 2
04.05.2013, 17:34 4
Цитата Сообщение от Deadpool2 Посмотреть сообщение
...через левую верхнюю...а мне желательно через центр
Через центр и идёт.

Ссылка на всю тему, там и пример имеется.
1
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 7
04.05.2013, 18:06  [ТС] 5
Огромное спасибо, действительно все так)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2013, 18:06

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

КОМПАС 3D
Помогите сделать детали, 2-е сутки уже не могу, то компас зависнет, то хрень получается......

компас 3D 5.11 LT
Как это не печально, но не могу установить эту прогу. Качал с разных источников, но файлы такие же....

Компас
Едет ко мне вот эта штука: http://www.st.som/stonline/products/fam ... 303dlh.htm Если окажется...

Фриланс Компас
Подскажите сайты где можно зароботать на Компасе?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.