arkia
چهارشنبه 17 خرداد 1391, 01:53 صبح
سلام.
من یه مشکلی با کامپاننت Jpeg خود دلفی 7 پیدا کردم که هنوزم حل نشده...
البته سرچ که کردم به یه جاهایی رسیدما اما گفتم اینجا عنوان کنم شاید مشکل دوستان دیگه هم بوده یا باشه.
من با کامپاننت Twain عکس رو توی Timage اسکن میکنم :
procedure Tfrm_new_scan.sBitBtn3Click(Sender: TObject);
var
SelectedSource: Integer;
begin
{It is always recommended to load library dynamically, never forcing}
{final user to have twain installed}
if Twain.LoadLibrary then
begin
{Load source manager}
Twain.SourceManagerLoaded := TRUE;
{Allow user to select source}
SelectedSource := Twain.SelectSource;
if SelectedSource <> -1 then
begin
{Load source, select transference method and enable (display interface)}
Twain.Source[SelectedSource].Loaded := TRUE;
Twain.Source[SelectedSource].TransferMode := ttmMemory;
Twain.Source[SelectedSource].Enabled := TRUE;
end {if SelectedSource <> -1}
end
else
showmessage('Twain is not installed.');
end;
procedure Tfrm_new_scan.TwainTwainAcquire(Sender: TObject;
const Index: Integer; Image: TBitmap; var Cancel: Boolean);
begin
Image1.Picture.Assign(Image);
Cancel := TRUE; {Only want one image}
end;
end.
بعدش اون عکس رو ذخیره میکنم:
Image1.Picture.SaveToFile('scan.jpg');
حالا وقتی از مسیر ذخیره لودش میکنم
frm_1.Image1.Picture.LoadFromFile('scan.jpg')
خطایی با کد #53 میده تا اونجایی که فهمیدم این مشکل از باگ دلفی 7 هست و با عکس های 4 کاناله CMYK مشکل داره نمیدونم درست حدس زدم یا نه اما ظاهر قضیه که اینو میگه.
جالب اینجاس که فایل ذخیره شده تو فتوشاپ باز نمیشه و میگه فایل خرابه اما توی ویندوز و Paint به راحتی باز میشه و اگه تو همون paint مجددا ذخیره کنی یکم رنگش عوض میشه اما دیگه تو دلفی و فتوشاپ باز میشه.
یه نمونه عکس که با این روش بالا اسکن و ذخیره کردم رو زیپ کردم اونم بی زحمت ببینید...
تو فروم های خارجی یکی میگفت از کامپاننت TMS استفاده کردم مشکل حل شد اما من ندارمش اگه Tadvpicture رو دارید امتحانش کنید به منم خبر بدید
یه نفرم فایل Jpeg.pas رو تغییر داده بود دانلودش کردم گذاشتمش کنار فایل پروژه اما همچنان خطا سر جاش هست... یا من نتونستم درست ازش استفاده کنم یا اون مال مشکل من نبود نمیدونم.
من یه مشکلی با کامپاننت Jpeg خود دلفی 7 پیدا کردم که هنوزم حل نشده...
البته سرچ که کردم به یه جاهایی رسیدما اما گفتم اینجا عنوان کنم شاید مشکل دوستان دیگه هم بوده یا باشه.
من با کامپاننت Twain عکس رو توی Timage اسکن میکنم :
procedure Tfrm_new_scan.sBitBtn3Click(Sender: TObject);
var
SelectedSource: Integer;
begin
{It is always recommended to load library dynamically, never forcing}
{final user to have twain installed}
if Twain.LoadLibrary then
begin
{Load source manager}
Twain.SourceManagerLoaded := TRUE;
{Allow user to select source}
SelectedSource := Twain.SelectSource;
if SelectedSource <> -1 then
begin
{Load source, select transference method and enable (display interface)}
Twain.Source[SelectedSource].Loaded := TRUE;
Twain.Source[SelectedSource].TransferMode := ttmMemory;
Twain.Source[SelectedSource].Enabled := TRUE;
end {if SelectedSource <> -1}
end
else
showmessage('Twain is not installed.');
end;
procedure Tfrm_new_scan.TwainTwainAcquire(Sender: TObject;
const Index: Integer; Image: TBitmap; var Cancel: Boolean);
begin
Image1.Picture.Assign(Image);
Cancel := TRUE; {Only want one image}
end;
end.
بعدش اون عکس رو ذخیره میکنم:
Image1.Picture.SaveToFile('scan.jpg');
حالا وقتی از مسیر ذخیره لودش میکنم
frm_1.Image1.Picture.LoadFromFile('scan.jpg')
خطایی با کد #53 میده تا اونجایی که فهمیدم این مشکل از باگ دلفی 7 هست و با عکس های 4 کاناله CMYK مشکل داره نمیدونم درست حدس زدم یا نه اما ظاهر قضیه که اینو میگه.
جالب اینجاس که فایل ذخیره شده تو فتوشاپ باز نمیشه و میگه فایل خرابه اما توی ویندوز و Paint به راحتی باز میشه و اگه تو همون paint مجددا ذخیره کنی یکم رنگش عوض میشه اما دیگه تو دلفی و فتوشاپ باز میشه.
یه نمونه عکس که با این روش بالا اسکن و ذخیره کردم رو زیپ کردم اونم بی زحمت ببینید...
تو فروم های خارجی یکی میگفت از کامپاننت TMS استفاده کردم مشکل حل شد اما من ندارمش اگه Tadvpicture رو دارید امتحانش کنید به منم خبر بدید
یه نفرم فایل Jpeg.pas رو تغییر داده بود دانلودش کردم گذاشتمش کنار فایل پروژه اما همچنان خطا سر جاش هست... یا من نتونستم درست ازش استفاده کنم یا اون مال مشکل من نبود نمیدونم.