السلام عليكــم ورحمـة الله وبركاتــه ،،
اعضاء المنتدى
عندي سؤال وياريت حدا يجاوبني
استدعيت بمشروعي صورة عن طريق المكون Image
واريد اضافة نص على هذه الصورة
واقوم بحفظها بصيغة JPG
ممكن حدا يساعدني بهالموضوع؟؟
مع فائق تحياتي واحترامي :wub:
السلام عليكــم ورحمـة الله وبركاتــه ،،
اعضاء المنتدى
عندي سؤال وياريت حدا يجاوبني
استدعيت بمشروعي صورة عن طريق المكون Image
واريد اضافة نص على هذه الصورة
واقوم بحفظها بصيغة JPG
ممكن حدا يساعدني بهالموضوع؟؟
مع فائق تحياتي واحترامي :wub:
اظن انك تتكلم على Watermark .
المهم هذا يكون باستعمال ال Canvas .
انظر الكود - على السريع -
begin
with image1.Canvas do
begin
Brush.Style:=bsClear;
TextOut(10, 10, 'Hello');// النص
end;
image1.Picture.SaveToFile('myNew_watermarked_image.bmp');
end;اخي الكريم
لا انا اقصد شيئ معين
عندي نموذج جاهز على هيئة JPG
اريد استدعائة عن طريق الدلفي
واضافة النص في مكان معين .. بنوع خط معين " لنفرض Arial "
وعند الانتهاء اقوم بحفظ الصورة بعد التعديل على هيئة JPG
فقط ببساطة
مع فائق التحيات
المبداء واحد إستعمل ال Canvas و ال TextOut
انتظر قليلا
مثلما قال الأخ محمد
with Image1.Picture.Bitmap.Canvas do begin Font.Color := clwhite; Brush.Style := bsclear; Font.Size := 13; TextOut(10, 10, 'Transparent!!'); end;
تفضل :
procedure WaterIt(Image: TImage;Const WaterMark ,SourceName, DestName: String);
Var
// Don't forget to add the jpeg unit to the Uses Block
ImgJPEG:TJPEGImage;
begin ImgJPEG:= TJPEGImage.Create;
Try
ImgJPEG.LoadFromFile(SourceName);
{* Let's assign the ImgJPEG into the Image as a Bitmap format *}
Image.Picture.Bitmap.Assign(ImgJPEG);
Finally
{* Free the ImgJPEG , we don't need it any more *}
ImgJPEG.Free;
{* Now let's play with the Image Value *}
with Image.Canvas do
begin Brush.Style:=bsClear;
Font.Name:='Arial';
Font.Color:=CLWhite;
Font.Size:=30;
TextOut(10, 10, WaterMark);// Write you Text
// We can Use the DrawText(...)
end;
{* Save the Image Value to the Destination Place *}
{*** Note :
Here we can save it as jpg
but the better way is to do some more stuff so the result will
be good
Like Converting from Bmp into a Jpg Format ....
***}
image.Picture.SaveToFile(DestName);
end;
end;الإستعمال
procedure TForm1.Button1Click(Sender: TObject);
begin {** Image1 is a TImage Object ***}
WaterIt(Image1,'Hello World','my_Source.jpg','my_Watermarked_image.jpg');
end;ضع مكون TImage على الفورم وطبق المثال .
واترك لك المهمات الاخرى كمكان النص ....الخ .
حاول مراجعة ال Canvas , Rect ....
والله المستعان
تم تعديل هذه المشاركة بواسطة mohfa في 10 مايو 2009 في 00:56
يعطيك الف الف عافية وصل الحل
شكرا اخي