Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 02.02.2009, 01:02   #1
Doctor Drive
Нуждающийся
 
Аватар для Doctor Drive
 
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение
(для 2 участников)
Почему не работает?

После первой формы не работает.
Мне нужно сохранить картинку зависимо от выбранного формата в первой форме. После нажатия "ок" тупо зависает - не сохраняет (и не показывает вторую форму, если выбранно "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.
Вложения
Тип файла: zip ImageConverter.zip (19.2 Кб, 791 просмотров)
(Offline)
 
Ответить с цитированием
Старый 02.02.2009, 01:33   #2
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Почему не работает?

Думаю, не работает потому, что LoadImage - стандартная функция, и программа при её вызове пытается загрузить ресурс с адреса в ФС, что приводит к сбою.
Нужно написать imloadjsr75.loadimage, тогда сработает функция из баблиотеки.
И еще - непонятен смысл блока
drawimage(im00);
im2 := imagefromcanvas(00getimagewidth(im), getimageheight(im)); 
Для чего это делается?
Это, по сути, то же самое, что и im2:=im, только с большим числом операций. Да и вообще, зачем переносить изображение в im2?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Doctor Drive (02.02.2009)
Старый 02.02.2009, 02:24   #3
Doctor Drive
Нуждающийся
 
Аватар для Doctor Drive
 
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение
(для 2 участников)
Ответ: Почему не работает?

ой, да, чтото я глюкнул - это не нужно Ыыы
спс за совет, ща попробую)
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AJAX почему-то не работает zheland Болтовня 28 12.11.2009 10:51
Так ли работает formGetText? ВалМих Основной форум 1 28.04.2009 12:07
Ptr и Var : как работает ? zheland BlitzMax 31 08.05.2008 21:23
getKeyClicked не работает VM Основной форум 4 14.10.2007 09:05
Что быстрее работает? Inrio Blitz3D 18 18.06.2007 13:13


Часовой пояс GMT +4, время: 21:10.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com