نمایش نتایج 1 تا 9 از 9

نام تاپیک: قرار دادن دو عکس روی هم و تبدیل به یک عکس؟

  1. #1

    قرار دادن دو عکس روی هم و تبدیل به یک عکس؟

    با سلام
    چطور میشه یک عکس رو روی یک عکس دیگه قرار داد و اون را ذخیره کرد
    یعنی یکی بشن؟ :oops:

  2. #2
    کاربر دائمی آواتار Touska
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    ایران زمین
    سن
    39
    پست
    1,988
    کامپوننتهای زیادی برای این کار ها هست.

    یکسری به این سایت بزن .

    http://www.leadtools.com

    :flower:

  3. #3
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    net_ved@yahoo.com
    پست
    184
    اول باید 2تا متغیر از نوع Tbitmap درست کنی...
    public
    b1,b2 :Tbitmap;


    دوتا عکس تو b1,b2 از نوع BMP لود کن....عکسا باید یک اندازه باشن وگنه برنامه خطا می ده...یکیش اینجوری...


    var
    s:string;
    begin
    if opendialog1.execute then

    begin
    b1:=tbitmap.create;
    s:= opendialog1.filename;
    b1.loadfromfile(s);
    end;
    end;




    var
    x,y:integer;
    p1:PByteArray;
    p2:PByteArray;
    begin
    Image1.Height:=b1.Height;
    Image1.Width:=b1.Width;
    for y:=0 to b1.Width-1 do
    begin
    p1:=b1.ScanLine[y];
    p2:=b2.ScanLine[y];
    for x:=0 to b1.Width-1 do
    begin
    Image1.Canvas.Pixels[x,y]:=
    rgb(((p1[(x*3)-4])+(p2[(x*3)-4])) div 2,
    ((p1[(x*3)-2])+(p2[(x*3)-2])) div 2,
    ((p1[(x*3)-3])+(p2[(x*3)-3])) div 2);
    end;
    end;


    این کد باعث می شه...بعضی از pixelهای عکس 1 با عکس 2 مخلوط بشه..
    یعنی بعضی از pixelهای عکس 1 و بعضی ها از عکس 2 تو image لود می شه...اگه ریاضیت خوب باشه می تونی با یکم تغیر این الگوریتم کلی کار جالب رو 2تا عکسات بکنی

  4. #4
    VIP آواتار دنیای دلفی
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    یک جایی توی جنوب ایران
    پست
    1,298
    اگر می خواهید با هر نوع فرمتی کار کنید باید از ImageEn استفاده نمائید .

    نسخه Trial آن را از سایت www.jonoobshop.com دریافت نمائید .
    :موفق:
    پس از دو سال بررسی بلاخره به بازار آمد
    متفاوت و هوشمندانه
    برای ورود کلیک کنید
    IMEN LOCK

  5. #5
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    net_ved@yahoo.com
    پست
    184
    کار با تصاویر انقد ساده و لذت بخشه که من به شما پیشنهاد می کنم از کامپوننت استفاده نکنید..از ما گفتن :oops:

  6. #6
    کاربر دائمی آواتار gbg
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    سن
    46
    پست
    691
    سلام
    ImageEn رو چطور میشه خرید

  7. #7
    کاربر دائمی آواتار Touska
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    ایران زمین
    سن
    39
    پست
    1,988
    با آقای کرامتی تماس بگیرید . مدیر سایت.

  8. #8

    راه حل مناسب

    با تشکر از همه دوستان :flower:
    من یک راه حل مناسب برای این کار (قرار دادن دو عکس روی هم یا به عبارتی قرار دادن قسمتی از یک عکس و روی عکس دیگه) پیدا کردم که در اینجا قرار می دم تا دیگران هم اگر به این مسئله بر خوردند بتونن بدون استفاده از کامپوننت ها :cry: این کار ساده را انجام دهند
    یک گله ای داشتم از دوستانی که سعی در معرفی کامپوننت ها بجای کد نویسی دارن، با این کار برای هر کار کوچکی مجبوریم بجای استفاده از فکر خود از فکر و کامپوننت هایی که دیگران نوشته اند استفاده کنیم :wink: :wink: :موفق:

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    if OpenDialog1.Execute then
    Image1.Picture.LoadFromFile(OpenDialog1.FileNa me);
    end;

    procedure TForm1.Button3Click(Sender: TObject);
    begin
    Image2.Canvas.CopyRect( Rect(0,0,50,50),Image1.Canvas, Rect( 0, 0, 20,20));
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    begin
    if OpenDialog1.Execute then
    Image2.Picture.LoadFromFile(OpenDialog1.FileNa me);
    end;

    لازم به ذکر است که برای اجرای کد بالا احتیاج به سه button دو Image و یک OpenDialog1 می باشد
    همچنین عکس های شما باید bitmap باشدو الا خطا می دهد. :موفق:

  9. #9
    کاربر دائمی
    تاریخ عضویت
    اسفند 1383
    محل زندگی
    هیچ کی مثل ایرونی نمیشه
    پست
    134
    پایان بحث:

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •