Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 21.12.2009, 21:18   #1
BloodMaX
Пользователь
 
Регистрация: 27.09.2009
Сообщений: 29
Репутация: 10
По умолчанию работа с Canvas

как загрузить изображение в canvas анпример из jpg файла и допусттим отрисовать на нем шар, просто когда в Bitmap загружаю программа ругается якобы не моджет отрисовывать на загруженном битмапе, т.е. в канвасе должно быть изображение
BloodMaX вне форума   Ответить с цитированием
Старый 21.12.2009, 21:24   #2
mihali4
*
Профессионал
 
Регистрация: 22.11.2006
Адрес: Москва
Сообщений: 9,198
Репутация: 2695
По умолчанию

Не нужно стесняться - показывайте, как вы делаете.
Так будет проще отвечать...
mihali4 вне форума   Ответить с цитированием
Старый 21.12.2009, 21:25   #3
BloodMaX
Пользователь
 
Регистрация: 27.09.2009
Сообщений: 29
Репутация: 10
По умолчанию

да вы мне лучше объясните как в канвас загрузить изобрежнние из файла?
BloodMaX вне форума   Ответить с цитированием
Старый 21.12.2009, 21:29   #4
mihali4
*
Профессионал
 
Регистрация: 22.11.2006
Адрес: Москва
Сообщений: 9,198
Репутация: 2695
По умолчанию

Цитата:
Сообщение от BloodMaX Посмотреть сообщение
да вы мне лучше объясните как в канвас загрузить изобрежнние из файла?
А вы поучитесь формулировать вопросы.
В канву чего?
mihali4 вне форума   Ответить с цитированием
Старый 21.12.2009, 21:32   #5
BOBAH13
Android Developer
ПрофессионалФорумчанин
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Адрес: Los Angeles, USA
Сообщений: 3,708
Репутация: 1457
По умолчанию

Цитата:
Сообщение от BloodMaX Посмотреть сообщение
да вы мне лучше объясните как в канвас загрузить изобрежнние из файла?
К вашему огромнейшему разочарованию - это не возможно Приношу свои соболезнования

p.s. если имелось ввиду вывести на Canvas (он же HDC) какое то изображение то возможно TBitmap, TJPEGImage или подобные классы для вашего формата изображения помогут + раз используется TCanvas, то и метод TCanvas.Draw() так же поможет в такой столь сложной ситуации. Где искать ? Эм... ну интернет или сразу F1 в IDE. А еще есть книжные магазины, да именно книжные, там книги продаются, как вариант сходить "туда" и купить книжечку для изучения, чтобы основные момент прояснились.

Edit:
Цитата:
Уважаемый Вован, вы сами себе противоречите, ибо подсказали обходной путь - через Draw...
было сказано
Цитата:
как загрузить изображение в canvas
так что все связи учтены
__________________
Home | Android for food | XWindows Dock | github

Последний раз редактировалось BOBAH13; 21.12.2009 в 21:51.
BOBAH13 вне форума   Ответить с цитированием
Старый 21.12.2009, 21:39   #6
mihali4
*
Профессионал
 
Регистрация: 22.11.2006
Адрес: Москва
Сообщений: 9,198
Репутация: 2695
По умолчанию

Цитата:
Сообщение от BOBAH13 Посмотреть сообщение
К вашему огромнейшему разочарованию - это не возможно Приношу свои соболезнования
Уважаемый Вован, вы сами себе противоречите, ибо подсказали обходной путь - через Draw...
Прямого метода нет, но разве это когда-нибудь смущало программера?
mihali4 вне форума   Ответить с цитированием
Старый 21.12.2009, 21:47   #7
Лубышев
ZlojDeveloper
Профессионал
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Адрес: Самара
Сообщений: 1,027
Репутация: 235

skype: zlojvirus89
По умолчанию

Ребят, ну ладно то вам парня мучать:

для того чтобы загнать в canvas jpg его надо преобразовать в bmp:
Код:

uses 
  JPEG; //добавляем модуль для работы с jpg

............
var 
  jpeg: TJPEGImage; 
  bmp:  TBitmap; 
begin 
    jpeg := TJPEGImage.Create; //создаем
    jpeg.CompressionQuality := 100; {Default Value} 
    jpeg.LoadFromFile('файл_формата_JPG.jpg'); //грузим
    bmp := TBitmap.Create; //создаем
    bmp.Assign(jpeg); //ассоциируем
    jpeg.Free; //уничтожаем так как больше не нужен
   //все теперь рисуем че хотим
    bmp.Canvas.Rectangle(0,0,100,100);//например

   bmp.Free;//и после манипуляций удаляем 
end;

__________________
Писано по д'Эльфийски
Лубышев вне форума   Ответить с цитированием
Старый 21.12.2009, 22:49   #8
DeKot
Профессионал
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Адрес: Молдова
Сообщений: 1,977
Репутация: 898
По умолчанию

Еще один код:
Код:

uses
 ...,JPEG;

...
var
  Form1: TForm1;
  BufJPG: TJPEGImage;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  BufJPG:= TJPEGImage.Create; // создали объект TJPEGImage
  BufJPG.LoadFromFile('Screen.jpg'); // загрузили в него рис. из файла
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
  With Form1.Canvas do
  begin
    Draw(0,0,BufJPG); // выводим Jpeg рисунок на канву формы
    Pen.Color:= clWhite; // цвет пера - белый
    Ellipse(50,50, 200,200); // рисуем круг на канве формы
  end;
end;

__________________
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисование квадрата. Работа на Canvas Файзулка Мультимедиа в Delphi 8 26.02.2010 15:34
Canvas guffer Обсуждение статей 1 21.08.2009 10:19
Рисование квадрата, работа на canvas lubov_morkov Помощь студентам 2 02.06.2009 13:01
работа с CANVAS BuT@JL Помощь студентам 6 30.11.2008 23:18
Canvas Zven Общие вопросы Delphi 9 06.12.2007 11:40


04:02.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru