![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как сохраить рисунок с канвы? [D7, ME, XP]
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.