Версия для слабовидящих
Навигация:  Сайт колледжа » Форум » Раздел "Операционные системы, программирование" » [Просмотр темы в подразделе " Delphi"]
piople
  Тема создана: 19 января 2011 в 11:49 :: изменено - 19.01.2011 в 11:57
Горбунов Александр Валерьевич

Группа: супермодератор
ICQ: 112
Проживает:
 Красноярский край, Канск

Итак, в общем как-то раз случилось так что надо было создать приложение рисующее красивые графики. Понятно дело что стандартными средствами Delphi это сделать тяжеловато. Поэтому пришлось поискать библиотеки облегчающие труд программиста, а именно позволяющие реализовать все выше сказанное. Видимо я совсем не умею пользоваться поисковыми системами, поэтому на поиск данных модулей у меня ушел почти целый день :)

 

Вообще удалось найти целый ряд модулей, отдельных процедур для рисования красивых линий. Но все же свой выбор я остановил на

 

 

 

Значит почему именно это? да потому что делает все фастом, поддерживает целую кучу всяких фишек) и т.д. и т.п. Не буду здесь все расписывать кто захочет читайте тутариал - http://www.crossgl.com/aggpas/documentation/index.html#Attach. К слову тутариал тоже очень подробный со всеми демонстрациями.

 

Ну и для демонстрации работы данного чуда создадим простенькое приложение, которое будет нам просто рисовать случайные линии:

 

 

Погнали. Создаем новый проект, кидаем на форму TImage и TButton. Далее для кнопки создаем обработчик OnClick и записываем туда следующий код:

var
   B: TBitmap;
   VG: TAgg2D;

   i: integer;
begin

   B := TBitmap.Create;
   B.Width := 953;
   B.Height := 481;
   B.PixelFormat := pf32bit;

   Image1.Picture.Bitmap.PixelFormat := pf32bit;

   VG := TAgg2D.Create;
   if VG.Attach(B) then
   begin
      VG.LineWidth(9);
      VG.Translate(0, 20);
      VG.LineColor(0, 128, 192, 255);

     for i := 1 to 10 do
        VG.Line(random(Image1.Width), random(Image1.Height), random(Image1.Width), random(Image1.Height));
   end;

   Image1.Picture.Bitmap.Assign(B);
end;

 

По коду. Логика такая - создаем битмэп, рисуем на нем. Далее просто ассоциируем наш битмеп созданный в рантайме с нашим TImage и все) Единственно НО! необходимо использовать PixelFormat := pf32bit;

 

Собственно все) Исходник на всякий случай прикрепил. В архиве только исходник. Модули скачивайте с офф сайта.


Прикрепленные файлы:
Графика.rar  (Размер: 6,18 KB)
Касяки.jpg  (Размер: 23,28 KB)

подпись однак0
Страницы: (1) - [1]
Нет ответов!
Страницы: (1) - [1]
  Юридический и фактический адрес КГА ПОУ «Канский педагогический колледж»: 663606, Красноярский край, г. Канск, ул. 40 лет Октября, д. 65.
  Если у вас есть замечания или предложения по нашему сайту, то просим сюда: piople@cross-kpk.ru
Публикация персональных данных, в том числе фотографий, производится в соответствии с Федеральным законом РФ № 152-ФЗ "О персональных данных" от 27.07.2006 г. (с изм. и доп.)