Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как сохраить рисунок с канвы? [D7, ME, XP]


Страницы:   1 2

Locke ©   (2006-04-10 10:48:00) 

Помогите сабж, зарание спасибо.


Locke   (2006-04-10 13:58:00) [1]

Понятно , спасибо


Gydvin   (2006-04-10 13:51:00) [2]

Потому что так вызывается зкземпляр класса.

mybitmap:=tbitmap.create;
mystringlist:=TstringList.create;
mywmf:=Tmetafile.create;
myjpg:=tjpegimage.create;
myedit:=tedit.create;
myform:=tform.create;

И я сомневаюсь, что кто либо будет давать всю теорию, нуна читать умные книжки, если задаешься подобными вопросами (а ими впринципе следует задаваться), но только не здесь. а посему прими это, как данность


Locke   (2006-04-10 13:40:00) [3]

почему если начинающий сразу не догоняет , значит подкол?
все заработало

bitmap:=tbitmap.Create;
когда поставил

только не понимаю почему

Bitmap1.Create что это делает и что bitmap:=tbitmap.Create

???


Ашкые   (2006-04-10 13:36:00) [4]

ап


Ашкые   (2006-04-10 13:29:00) [5]

а почему чем различаются их функции?


Gydvin   (2006-04-10 13:27:00) [6]

не ну точно развод, а я повелся.


Locke   (2006-04-10 13:26:00) [7]

а почему чем различаются их функции?


Gydvin   (2006-04-10 13:25:00) [8]

Не пойму это, что прикол или развод, или и то и то


Gydvin   (2006-04-10 13:24:00) [9]

нет нельзя


Gydvin   (2006-04-10 13:23:00) [10]

Давай целиком код обработчика от

Procedure

до

END;


Locke   (2006-04-10 13:22:00) [11]

во create не поставил
 

... а зачем он?
можно  через Bitmap1.Create ?


Locke   (2006-04-10 13:21:00) [12]

Debugger exception notification
access violation at addess ... in module 's.exe' .read of address ooooooo.


Gydvin   (2006-04-10 13:20:00) [13]

......

bitmap:=tbitmap.Create;
.....

bitmap.Free;


Locke   (2006-04-10 13:18:00) [14]

w:=PaintBox1.ClientWidth;
h:=PaintBox1.ClientHeight;

bitmap1.Width:=w;    // Опять тут
bitmap1.Height:=h;
bitblt(bitmap1.Canvas.Handle,0,0,w,h,paintbox1.canvas.Handle,0,0,SRCCOPY);
bitmap1.SaveToFile('c:\1.bmp');


Gydvin   (2006-04-10 13:17:00) [15]

какую, у меня ничего не выдает


Locke   (2006-04-10 13:15:00) [16]

w:=PaintBox1.Width;
h:=PaintBox1.Height;

bitmap1.Width:=w;     //  Вот тут ошибку выдает когда сохранить пытаюсь
bitmap1.Height:=h;
bitblt(bitmap1.Canvas.Handle,0,0,w,h,paintbox1.canvas.Handle,0,0,SRCCOPY);
bitmap1.SaveToFile('c:\1.bmp');


Gydvin   (2006-04-10 13:06:00) [17]

w:=paintbox1.Width;
h:=paintbox1.Heigh;


TO

w:=paintbox1.ClientWidth;
h:=paintbox1.ClientHeight;


ЗЫ. Я и забыл как в паинтбоксе, давно им непользовался


Locke   (2006-04-10 13:05:00) [18]

спасибо Вейдер  ;)


Gydvin   (2006-04-10 12:59:00) [19]

Разъясняю

Это WinApi функци копирования с одной канвы на другую.
Где bitmap.Canvas  приемник, (0,0,w,h) это координаты куда врисовать, paintbox1.canvas - это источник (0,0) это координаты от которых надо начинать копировать изображение, SRCCOPY с этим разбирайся сам. Соответственно про хендлы я рассказывать не буду.

А вообще читай WinApi и прибудет с тобой сила


Джо   (2006-04-10 12:59:00) [20]

> [12] Locke ©   (10.04.06 12:58)
> он ошибку выдает
>
> bitmap:=tbitmap.Create;
> bitmap.Width:=w;
> bitmap.Height:=h
>
> на вот этом вот

Вместо этих букв подставь ширину/высоту картинки.
За подробностями по BitBlt - нажми F1.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо