|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.03.2009, 17:45 | #1 |
Пользователь
Регистрация: 25.03.2009
Сообщений: 18
|
Как сохранить нарисованный график в JPG файл
Короче.
Рисую из вычисленных данных простой график. Хочется сохранить в последствии в JPG файл. Поставил компонент PaintBox - дык вот в нём мои прямоугольнички не хотят закрашиваться нужным цветом. Делал такую проверку procedure TForm1.FormPaint(Sender: TObject); begin Canvas.Brush.Color:=clRed; Canvas.Brush.Style:=bsSolid; PaintBox.Canvas.Rectangle(0,0,10,10 ); end; При этом - квадратик появляется белый (чтоб его) а при таком раскладе procedure TForm1.FormPaint(Sender: TObject); begin Canvas.Brush.Color:=clRed; Canvas.Brush.Style:=bsSolid; Canvas.Rectangle(0,0,10,10); end; На самой форме приятный красный квадрат появляется. Вопрос такой как мне добиться цвета на компоненте...либо подскажите - каким более удобным способом можно нарисовать и сохранить мой график. ЗЫ: Ещё один вопрос: PaintBox.Canvas.Rectangle(любое внутри,любое внутри,любое внутри,Paintbox.Height); У меня не прорисовывается нижняя граница прямоугольника - даже когда я отнимаю от последнего параметра 100!!! прямоугольник всёравно рисуется до нижней границы. В чём проблема? ЗЗЫ: Я извинияюсь, если моя тема повторяет уже существующие - вроде поиском поигрался - ничего такого не нашёл. |
27.03.2009, 18:22 | #2 |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
Ну во-первых почему ты рисуешь в событии "FormPaint"..? Сделай кнопку и рисуй при нажатии на неё...
А во-вторых у "Form1.Canvas" и "PaintBox.Canvas" собственные настройки... Ты выставил настройки "Brush.Color" и "Brush.Style" для "Form1.Canvas", а у "PaintBox.Canvas" они остались как были... Код:
I am the First of Cyber Evolution...
I am the First to Program your Future... |
27.03.2009, 19:03 | #3 |
Пользователь
Регистрация: 25.03.2009
Сообщений: 18
|
Спасибо большое =)
А сохранить в файл из PaintBox можно? Надо ли вводить BitMap: TBitmap ? ЗЫ: В прорисовке окна я поставил, чтобы при сворачивании или перекрытии информация никуда не делась. На самом деле я ввёл глобальную константу, и при конце расчётов она открывает своим значением в процедуре перерисовки через if con=1 then собственно прорисовку самого графика =))) Последний раз редактировалось Ark; 27.03.2009 в 19:05. |
27.03.2009, 19:07 | #4 | |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
Цитата:
I am the First of Cyber Evolution...
I am the First to Program your Future... |
|
27.03.2009, 21:45 | #5 |
Пользователь
Регистрация: 25.03.2009
Сообщений: 18
|
Благодарствую =)
С TImage - всё стало значительно проще. Надо только один раз прорисовать =) А как сохранить картинку из TImage в файл? Я так понимаю нужно вставить диалог сохранения файла. Нужно ли создавать TBitmap? Не подскажешь? |
27.03.2009, 21:53 | #6 |
Delphi forever
Форумчанин
Регистрация: 13.01.2009
Сообщений: 113
|
Вот так
Image1.Picture.SaveToFile(FileName) ;
Программы на заказ Delphi, Pascal.
ася: 415 253 529. Мыло: wowan141750@gmail.com. |
27.03.2009, 21:55 | #7 |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
Попробуй так:
Код:
P.S. И на всякий случай, если раньше не работал с TSaveDialog... "If ... Then ... " ставится чтоб файл не сохранялся, если например нажали "Отмена"... А то может Ашибка быть... В "Инспекторе Объектов" ставишь: DefaultExt -> .bmp (формат в котором надо сохранять файл) Нажимаешь на многоточие в Filter и в окошке заполняешь первую строчку: Filter Name -> Windows Bitmap (ну или что-то подобное) Filter -> *.bmp Закрываешь окошко кнопкой ОК После раскрываешь Options и там ещё два пункта: ofOverwritePrompt -> True ofPathMustExist -> True
I am the First of Cyber Evolution...
I am the First to Program your Future... Последний раз редактировалось DomiNick; 27.03.2009 в 23:20. Причина: P.S. |
27.03.2009, 23:24 | #8 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Для сохранения рисунка в .jpg пропиши в uses модуль -,Jpeg, а сам файл сохраняй стандартно - Image1.Picture.SaveToFile(' "имя файла" . jpg');.
Для работы с графикой в формате .jpg используется TImageJpeg (аналогично TBitMap) - с методами Create, Load/SaveToFile(),Free и т.п.
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
29.03.2009, 11:53 | #9 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Только сначала все же его перегнать в Jpeg надо, а то сохранится битмап с расширением jpg.
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)
Проверь себя! Онлайн тестирование | Мой блог |
30.03.2009, 12:21 | #10 |
Пользователь
Регистрация: 25.03.2009
Сообщений: 18
|
С диалогом разобрался но есть одна проблема.
При тестировании когда выскакивает диалог - когда я нажимаю вверх по каталогу - всё нормально. Но к примеру поднявшись до "Мой компьютер" когда двойным щелчком пытаюсь зайти в диск D - выскакивает такая ошибка Код:
В принципе - мне в данной программе не требуется jpeg. Но всё таки - объясните пошагово - как его подключать. (В uses вроде прописал) Как "перегнать" Image в jpeg перед сохранением? Как настраивать это в диалоге - я понял. Последний раз редактировалось Ark; 30.03.2009 в 12:31. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как image сохранить в файл ? | juan666777 | Мультимедиа в Delphi | 11 | 13.12.2014 09:51 |
как сохранить из memo в файл? | RAVAL)) | Общие вопросы Delphi | 8 | 15.01.2013 18:09 |
Как сохранить файл заранее указывая папку? | highklass | Общие вопросы Delphi | 2 | 09.06.2008 10:58 |
как сохранить строчки в TXT файл | Ярослав | Помощь студентам | 2 | 17.05.2008 18:43 |