Почему не работает?
После первой формы не работает.
Мне нужно сохранить картинку зависимо от выбранного формата в первой форме. После нажатия "ок" тупо зависает - не сохраняет (и не показывает вторую форму, если выбранно "jpeg")
program ImageConverter;
uses imloadjsr75, png, jpeg, bmp, jsr75;
var ok: command;
im, im2: image;
iname, format, saveformat, quality, png2, jpg, bmp, png: integer;
sav: string;
begin
ShowForm;
iname := FormAddTextField('Enter image adress', '/c:/', 50, TF_ANY);
format := FormAddChoice('Output Format', CH_EXCLUSIVE );
bmp := choiceappendstring(format, 'bmp');
jpg := choiceappendstring(format, 'jpeg');
png := choiceappendstring(format, 'png');
ok := CreateCommand('Ok', CM_OK, 1);
AddCommand(ok);
repeat until GetClickedCommand = ok;
im := loadimage(formgettext(iname));
saveformat := choicegetselectedindex(format);
if saveformat = 0 then sav := formgettext(iname) + '.bmp';
if saveformat = 1 then sav := formgettext(iname) + '.jpg';
if saveformat = 2 then sav := formgettext(iname) + '.png';
drawimage(im, 0, 0);
im2 := imagefromcanvas(0, 0, getimagewidth(im), getimageheight(im));
formremove(iname);
formremove(format);
if saveformat = 0 then savebmp(im2, sav);
if saveformat = 1 then begin
quality := FormAddGauge('Choose quality', true, 100, 0);
repeat until GetClickedCommand = ok;
removecommand(ok);
formremove(quality);
Jpeg.SaveImage(im2, formgetvalue(quality), sav);
end;
if saveformat = 2 then png2 := save_png(im2, sav);
end.
|