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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2008, 22:53   #1
Thasraney
 
Регистрация: 28.05.2008
Сообщений: 3
По умолчанию Создание координатной сетки на компоненте Image

Сложность заключается в том, что прога после своей работы(создания блок-схемы) должна сохранять получившееся изображение в файл. Если тупо с помощью канвы отображать сетку то соответственно она тоже будет сохраняться в файл. Пробовал это устроить с помощью двух Image находящихся друг на друге(один из них прозрачный) но нифига.
Thasraney вне форума Ответить с цитированием
Старый 28.05.2008, 22:56   #2
-=<[Evklidd]>=-
Форумчанин Подтвердите свой е-майл
 
Аватар для -=<[Evklidd]>=-
 
Регистрация: 22.01.2008
Сообщений: 161
По умолчанию

А почему бы просто не прятать координатную сетку при нажатии на кнопку сохранить?
-=<[Evklidd]>=- вне форума Ответить с цитированием
Старый 29.05.2008, 01:22   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Пробовал это устроить с помощью двух Image находящихся друг на друге(один из них прозрачный) но нифига.
Неправильно прозрачность выставлял, прозрачность имиджа действует если в его канве битмап, и как раз на него она и действует. Если свойства прозрачности не менять, за прозрачный цвет береться угловой пиксель (то ли верхний левый, то ли нижний).

А вообще сетку надо не тупо на канве отображать, а буфер иметь и все нормально будет. И имидж тут не особо нужен, раз такое дело. Имидж хорош когда статическую картинку нужно показать, не больше. И если использовать его, то как канву для вывода.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 29.05.2008, 20:30   #4
Thasraney
 
Регистрация: 28.05.2008
Сообщений: 3
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
А вообще сетку надо не тупо на канве отображать, а буфер иметь и все нормально будет. И имидж тут не особо нужен, раз такое дело. Имидж хорош когда статическую картинку нужно показать, не больше. И если использовать его, то как канву для вывода.
Чесно говоря не допонял насчет буфера приведи пример.
Thasraney вне форума Ответить с цитированием
Старый 29.05.2008, 22:43   #5
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Код:
var
Buffer, Fon, GridChart: TBitmap;

procedure FormCreate
begin 
Buffer:=TBitmap.Create; //буфер
Fon:=TBitmap.Create; //фон
GridChart:=TBitmap.Create; //коорд. сетка

//тут загрузка фона и сетки

Buffer.Assign(Fon); //битмап после создания нужно чем-то заполнить либо 
//задать размеры, кинем в него фон 
GridChart.Transparent:=True; //делаем прозрачным
//если не из файла, то еще и прозрачный цвет задать надо TransparentColor
//если из файла и ничего не менять то пр. цвет левый нижний пиксель,
//можно поменять TransparentMode, тогда цвет берется из TransparentColor
end;

procedure Draw;
begin
//тут построение графика в битмапе Fon

Buffer.Canvas.Draw(0,0,Fon);
Buffer.Canvas.Draw(0,0,GridChart);
Form1.Canvas.Draw(0,0,Buffer); //выводим изменения на экран
end;

//обработка события OnPaint формы
procedure FormPaint;
begin
Canvas.Draw(0,0,Buffer);
end;

//сохраняем график в файл без сетки
procedure SaveGraph;
begin
Fon.SaveToFile('test.bmp');
end;
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 03.06.2008, 14:16   #6
Thasraney
 
Регистрация: 28.05.2008
Сообщений: 3
По умолчанию

Большое спасибо тебе mutabor.
Thasraney вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анимированный Gif в компоненте Image Ermiss Мультимедиа в Delphi 17 12.09.2010 06:11
Нарисовать на координатной площади линию a*x+b*y+c=0 НУБ!!! Общие вопросы Delphi 4 13.05.2008 22:48
на координатной плоскости, координаты в ручную Proskurin Помощь студентам 5 18.04.2008 13:31
Вопрос о компоненте ShellListViev Bill Gates Общие вопросы Delphi 2 28.11.2007 22:35
Создание пиксельной сетки в MDI приложении shkiper Общие вопросы Delphi 5 06.06.2007 18:56