Форум: "Начинающим";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
Внизкак сохраить рисунок с канвы? Найти похожие ветки
← →
Locke © (2006-04-10 10:48) [0]Помогите сабж, зарание спасибо.
← →
Locke © (2006-04-10 11:24) [1]ап
← →
Poirot © (2006-04-10 11:30) [2]TBitmap и у него есть TCanvas :)
+ GetWindowDC
← →
Gydvin © (2006-04-10 11:36) [3]procedure TForm1.Button1Click(Sender: TObject);
var
bitmap:tbitmap;
begin
canvas.Brush.Color:=clred;
canvas.Rectangle(0,0,100,100);
bitmap:=tbitmap.Create;
bitmap.Width:=100;
bitmap.Height:=100;
bitblt (bitmap.Canvas.Handle,0,0,100,100,canvas.Handle,0,0,SRCCOPY);
bitmap.SaveToFile("test.bmp");
bitmap.Free;
end;
← →
Der Nechk@ssoff © (2006-04-10 11:43) [4]
if savepicturedialog1.Execute then
Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
Я пользуюсь и реально сейвит.
← →
Gydvin © (2006-04-10 11:47) [5]Der Nechk@ssoff © (10.04.06 11:43) [4]
а если это не Timage, а скажем канва формы
← →
Der Nechk@ssoff © (2006-04-10 11:57) [6]
> Gydvin © (10.04.06 11:47) [5]
Тогда извеняюсь.
← →
balepa © (2006-04-10 12:09) [7]
> Der Nechk@ssoff © (10.04.06 11:57) [6]
> Тогда извеняюсь
ИзвИняюсь
← →
Джо © (2006-04-10 12:13) [8]> [7] balepa © (10.04.06 12:09)
> ИзвИняюсь
Прошу прощения ;)
← →
Locke © (2006-04-10 12:33) [9]я с Пэинт бобка пытаюсь сохранение сделать
это как-нибудь проще можно осуществить?
← →
Gydvin © (2006-04-10 12:45) [10]Тоже самое
procedure TForm1.Button1Click(Sender: TObject);
var
bitmap:tbitmap;
w,h:integer;
begin
w:=paintbox1.Width;
h:=paintbox1.Heigh;
bitmap:=tbitmap.Create;
bitmap.Width:=w;
bitmap.Height:=h;
bitblt (bitmap.Canvas.Handle,0,0,w,h,paintbox1.canvas.Handle,0,0,SRCCOPY);
bitmap.SaveToFile("test.bmp");
bitmap.Free;
end;
← →
Locke © (2006-04-10 12:48) [11]разьясните пожалуйста Bitblt() и что в скобках именно?
← →
Locke © (2006-04-10 12:58) [12]он ошибку выдает
bitmap:=tbitmap.Create;
bitmap.Width:=w;
bitmap.Height:=h
на вот этом вот
← →
Джо © (2006-04-10 12:59) [13]> [12] Locke © (10.04.06 12:58)
> он ошибку выдает
>
> bitmap:=tbitmap.Create;
> bitmap.Width:=w;
> bitmap.Height:=h
>
> на вот этом вот
Вместо этих букв подставь ширину/высоту картинки.
За подробностями по BitBlt - нажми F1.
← →
Gydvin © (2006-04-10 12:59) [14]Разъясняю
Это WinApi функци копирования с одной канвы на другую.
Где bitmap.Canvas приемник, (0,0,w,h) это координаты куда врисовать, paintbox1.canvas - это источник (0,0) это координаты от которых надо начинать копировать изображение, SRCCOPY с этим разбирайся сам. Соответственно про хендлы я рассказывать не буду.
А вообще читай WinApi и прибудет с тобой сила
← →
Locke © (2006-04-10 13:05) [15]спасибо Вейдер ;)
← →
Gydvin © (2006-04-10 13:06) [16]w:=paintbox1.Width;
h:=paintbox1.Heigh;
TOw:=paintbox1.ClientWidth;
h:=paintbox1.ClientHeight;
ЗЫ. Я и забыл как в паинтбоксе, давно им непользовался
← →
Locke © (2006-04-10 13:15) [17]
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:17) [18]какую, у меня ничего не выдает
← →
Locke © (2006-04-10 13:18) [19]
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:20) [20]......
bitmap:=tbitmap.Create;
.....
bitmap.Free;
← →
Locke © (2006-04-10 13:21) [21]Debugger exception notification
access violation at addess ... in module "s.exe" .read of address ooooooo.
← →
Locke © (2006-04-10 13:22) [22]во create не поставил
... а зачем он?
можно через Bitmap1.Create ?
← →
Gydvin © (2006-04-10 13:23) [23]Давай целиком код обработчика от
Procedure
до
END;
← →
Gydvin © (2006-04-10 13:24) [24]нет нельзя
← →
Gydvin © (2006-04-10 13:25) [25]Не пойму это, что прикол или развод, или и то и то
← →
Locke © (2006-04-10 13:26) [26]а почему чем различаются их функции?
← →
Gydvin © (2006-04-10 13:27) [27]не ну точно развод, а я повелся.
← →
Ашкые (2006-04-10 13:29) [28]а почему чем различаются их функции?
← →
Ашкые (2006-04-10 13:36) [29]ап
← →
Locke © (2006-04-10 13:40) [30]почему если начинающий сразу не догоняет , значит подкол?
все заработало
bitmap:=tbitmap.Create;
когда поставил
только не понимаю почему
Bitmap1.Create что это делает и что bitmap:=tbitmap.Create
???
← →
Gydvin © (2006-04-10 13:51) [31]Потому что так вызывается зкземпляр класса.
mybitmap:=tbitmap.create;
mystringlist:=TstringList.create;
mywmf:=Tmetafile.create;
myjpg:=tjpegimage.create;
myedit:=tedit.create;
myform:=tform.create;
И я сомневаюсь, что кто либо будет давать всю теорию, нуна читать умные книжки, если задаешься подобными вопросами (а ими впринципе следует задаваться), но только не здесь. а посему прими это, как данность
← →
Locke © (2006-04-10 13:58) [32]Понятно , спасибо
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.013 c