delphi4arab منتديات دلفي للعرب
تحويل jpg الى bmp - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : مصادر دلفي مفتوحة تعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=14)
+--- الموضوع : تحويل jpg الى bmp (/showthread.php?tid=117)



تحويل jpg الى bmp - bilgads - 29-03-2008

لقد برمجت هذا البرنامج بنفسي لتحويل jpg الى bmp
بانتظار ابداء آراءكم فيه


تحويل jpg الى bmp - AL-MOB4RM3G - 02-03-2009

السلام عليكم ورحمة الله
برنامج غاية في الروعة. لكن وجدت به خطأ
عند فتح البرناج والضغط مثلا مباشرة على كبسة الحفظ
وخترت بعدها مثلا... cancel .... عندها يحدث خلل Wink
ممكن في النسخة القادمة تكون بلا اخطأ ان شاء الله؟
بارك الله فيك وجزاك الله خيرا
والسلام عليكم


تحويل jpg الى bmp - Dr.MOT - 02-03-2009

السلام عليكم
أعتذر عن التدخل
الأخ محمد, ربما قد يعتبر خطأ ,, لكن ما عليك سوى تعديل الكود في الزر تحويل
من :
PHP كود :
SaveDialog1.Execute ;
//The Code ... 
إلى :
PHP كود :
if SaveDialog1.Execute Then
// The Code ... 
بالتوفيق


تحويل jpg الى bmp - AL-MOB4RM3G - 02-03-2009

اها نعم... بارك الله فيك.لم اكن اعلم هذا.
يعني بارك الله فيك على الإفادة.
والسلام عليكم ورحمة الله


تحويل jpg الى bmp - nabilkeb - 03-03-2009

نفس الشيء+استغلال الحفظ بقواعد البيانات ، بعد تغيير اللاحقة Jpg أو Jpeg إلى Bitmap
للإفادة أزي:
كود تحويل Ico إلى Bmp
كود :
[align=left]var[/align] [align=left]Icon : TIcon;[/align] [align=left]Bitmap : TBitmap;[/align] [align=left] begin[/align] [align=left] if OpenDialog1.Execute then begin[/align] [align=left] Icon := TIcon.Create;[/align] [align=left] Bitmap := TBitmap.Create;[/align] [align=left] Icon.LoadFromFile(OpenDialog1.FileName);[/align] [align=left] Bitmap.Width := Icon.Width;[/align] [align=left] Bitmap.Height := Icon.Height;[/align] [align=left] Bitmap.Canvas.Draw(0, 0, Icon)[/align] [align=left] Bitmap.SaveToFile('c:\picture.bmp');[/align] [align=left] Icon.Free;[/align] [align=left] Bitmap.Free;[/align]

كود لاستخراج ico من ملف bmp
كود :
[align=left]var[/align] [align=left]IconSizeX: integer;[/align] [align=left]IconSizeY: integer;[/align] [align=left] [/align] [align=left]XOrMask: TBitmap;[/align] [align=left]IconInfo: TIconInfo;[/align] [align=left]Icon: TIcon;[/align] [align=left]begin[/align] [align=left]IconSizeX := GetSystemMetrics(SM_CXICON);[/align] [align=left]IconSizeY := GetSystemMetrics(SM_CYICON);[/align] [align=left]XOrMask := TBitmap.Create;[/align] [align=left]XOrMask.Width := IconSizeX;[/align] [align=left]XOrMask.Height := IconSizeY;[/align] [align=left]XOrMask.LoadFromFile('C:\picture.bmp');{}[/align] [align=left] [/align] [align=left]Form1.Canvas.Draw(IconSizeX * 4, IconSizeY, XOrMask);[/align] [align=left]{Create a icon}[/align] [align=left]Icon := TIcon.Create;[/align] [align=left]IconInfo.fIcon := true;[/align] [align=left]IconInfo.xHotspot := 0;[/align] [align=left]IconInfo.yHotspot := 0;[/align] [align=left]IconInfo.hbmMask := XOrMask.Handle;[/align] [align=left]IconInfo.hbmColor := XOrMask.Handle;[/align] [align=left]Icon.Handle := CreateIconIndirect(IconInfo);[/align] [align=left]{Destroy the temporary bitmaps}[/align] [align=left]// AndMask.Free;[/align] [align=left]XOrMask.Free;[/align] [align=left]{Draw as a test}[/align] [align=left]Form1.Canvas.Draw(IconSizeX * 6, IconSizeY, Icon);[/align] [align=left]{Assign the application icon}[/align] [align=left]Application.Icon := Icon;[/align] [align=left]{Force a repaint}[/align] [align=left]InvalidateRect(Application.Handle, nil, true);[/align] [align=left]{Free the icon}[/align] [align=left]Icon.Free;[/align] [align=left]end;[/align]

تحويل Bmp إلى Jpeg
use ......jpeg

كود :
[align=left]var[/align] [align=left] JPEG: TJPEGImage;[/align] [align=left] Bitmap: TBitmap;[/align] [align=left]begin[/align] [align=left] if OpenDialog1.Execute then[/align] [align=left] begin[/align] [align=left] JPEG := TJPEGImage.Create;[/align] [align=left] Bitmap := TBitmap.Create;[/align] [align=left] try[/align] [align=left] Bitmap.LoadFromFile(OpenDialog1.FileName);[/align] [align=left] JPEG.Assign(Bitmap);[/align] [align=left] Image1.Picture.Assign(JPEG);[/align] [align=left] finally[/align] [align=left] JPEG.SaveToFile('C:\E.jpg');[/align] [align=left] JPEG.Free;[/align] [align=left] Bitmap.Free;[/align] [align=left] end;[/align] [align=left]end;[/align]


كووود لتغيـــر حجم الصــورة

كود :
[align=left]function ResizeBmp(bitmp: TBitmap; wid, hei: Integer): Boolean;[/align] [align=left]var[/align] [align=left] TmpBmp: TBitmap;[/align] [align=left] ARect: TRect;[/align] [align=left]begin[/align] [align=left] Result := False;[/align] [align=left] try[/align] [align=left] TmpBmp := TBitmap.Create;[/align] [align=left] try[/align] [align=left] TmpBmp.Width := wid;[/align] [align=left] TmpBmp.Height := hei;[/align] [align=left] ARect := Rect(0,0, wid, hei);[/align] [align=left] TmpBmp.Canvas.StretchDraw(ARect, Bitmp);[/align] [align=left] bitmp.Assign(TmpBmp);[/align] [align=left] finally[/align] [align=left] TmpBmp.Free;[/align] [align=left] end;[/align] [align=left] Result := True;[/align] [align=left] except[/align] [align=left] Result := False;[/align] [align=left] end;[/align] end;
ثم الاستغلال مثلا :
كود :
[align=left]begin[/align] [align=left] ResizeBmp(Image1.Picture.Bitmap,[COLOR=Red]200[/COLOR],[COLOR=Red]700[/COLOR])[/align] [align=left]end;[/align]

و السلام عليكم