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

نام تاپیک: تقسیم عکس

  1. #1

    Cool تقسیم عکس

    سلام
    میخوام برنامه ام وقتی عکسی رو اپن می کنه اون را به نه قسمت مساوی تقسیم کنه و هر قسمت را توی یک image قرار بده.
    اگه ممکنه دوستان کمک کنند.
    اگر فرمت عکس هم مهمه دوستان بهم بگن.

  2. #2

    نقل قول: تقسیم عکس

    دوستان اگر کسی می دونه راهنمایی کنه.
    می خوام برنامه عکس رو تقسیم کنه و هر قسمت را توی یک image بگذاره.
    تاحالا همه حالی رو که وقتی جواب سوالی رو نمیدونند تجربه کردند پس لطفا سریعتر جوب بدهید.
    با تشکر

  3. #3
    کاربر دائمی آواتار Hamid.Kad
    تاریخ عضویت
    آبان 1385
    محل زندگی
    پُشت هیچستانم...
    پست
    349

    نقل قول: تقسیم عکس

    کلاس TBitMap یک تابع داره بنام ScanLine که یک خط را از تصویری که توش لود شده میخونه. هر پیکسل رو در سه بایت میخونه که هر بایتش به ترتیب میزان رنگ قرمز، سبز و آبیه (RGB). مثلاً اگه پهنای تصویر 100 باشه خط اول از تصویر در یه آرایه یک بعدی 300 سلولی ذخیره میشه. حالا شما میتونید خونه های این آرایه رو توی پیکسلهای یه Bitmap جدید قرار بدید. خیلی مختصر گفتم. اگه درست نشد بفرمائید مثالش رو براتون بنویسم.
    فرض کنید سطر اول رو توی آرایه P خونده باشیم. در اینصورت اولین پیکسل از تصویر برابر هست با:
    Bmp1.Canvas.Pixels[0]=RGB(P[2],P[1],P[0]);
    آخرین ویرایش به وسیله Hamid.Kad : سه شنبه 03 آذر 1388 در 23:15 عصر

  4. #4
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اصفهان
    پست
    204

    نقل قول: تقسیم عکس

    سلام دوست عزيز؛

    از راهنماي دلفي، دستورات BrushCopy و StretchDraw و Draw را نگاه كنيد.
    در صورتي كه متوجه نشديد، بگيد تا من يا دوستان، بيشتر توضيح بديم...


    يا علي... موفق باشيد...

  5. #5

    نقل قول: تقسیم عکس

    سلام
    یه نگاهی هم به دستور copyrect بنداز برای اینکاری که می خوای انجام بدی ، راحتترین و سریعترینه

    موفق باشی

  6. #6

    Lightbulb نقل قول: تقسیم عکس


  7. #7

    نقل قول: تقسیم عکس

    سلام با تشکر
    در جواب دوست اول: منظورتون این بود که عکس رو رنگ رنگ می کنه؟ یعنی این کد شما عکس رو رنگ رنگ جدا میکرد؟ راستش درست متوجه نشدم پس اگه ممکنه بیشتر تویح بدید؟
    دوستان دیگه هم گفته بودن برم توی Help صادقانه بگم help ارور داد گویا این قسمتش خرابه و نمی تونست بخونه! شانس دیگه!
    دوست دیگه ای که برنامه گذاشته بودند هم که عکس رو تیکه کردند. و برای تیکه کردن سایز داده بودن. من که نمی دونم عکس به چه سایزی اپن می شه تازه سوال من این بود که قرار 9 قسمت بشه و هر قسمت توی یک عکس قرار بگیره؟
    با تشکر از دوستان.
    منتظر پاسخ شما استادان.

  8. #8
    کاربر دائمی آواتار Hamid.Kad
    تاریخ عضویت
    آبان 1385
    محل زندگی
    پُشت هیچستانم...
    پست
    349

    نقل قول: تقسیم عکس

    در جواب دوست اول: منظورتون این بود که عکس رو رنگ رنگ می کنه؟
    یه مثال میزنم امیدوارم کمک کنه. کد زیر رو ملاحظه بفرمائید:
      P:PByteArray;
    for i:=0 to (mainIMG.height div 3) do
    begin
    p:=MainIMG.ScanLine[I];
    for j:=0 to (MainIMG.Width div 3) do
    begin
    NewIMG.Canvas.Pixels[i,j]:= RGB(p[3*j+2],P[3*j+1],P[3*j]);[
    end;
    end;

    در حقیقت با این دستورات از هر سطر عکس، پیکسلها خونده میشن. مثلاً به ازای اولین پیکسل گوشه سمت چپ بالا سه تا خونه آرایه P پُر میشه. یکی میزان رنگ قرمز، یکی سبز و دیگری هم میزان رنگ آبی این پیکسل رو نشون میدن. حالا توی تصویر جدید (NewIMG) این سه تا رنگ رو با تابع RGB ترکیب کرده و دوباره توی تصویر جدید میریزیم. با اجرای این دستورات اگر فرض کنیم که قرار باشه عکس اصلی به 9 تا عکس (3*3) تبدیل بشه، عکس گوشه سمت چپ بالا استخراج میشه (توی NewIMG)

    البته احتمالاً روشهای ساده تری هم وجود داره. چیزی که به ذهن من رسید این روش بود. امیدوارم مفید بوده باشه.

  9. #9
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اصفهان
    پست
    204

    نقل قول: تقسیم عکس

    استفاده از روشي كه آقاي حميد.كد گفتند، سرعت كمي داره به خاطر اين كه با پيكسل‌ها كار مي‌كنه.

    در مورد كدي كه دوست خوبم، آقاي/خانم دلفي نوشته بودند، كافيه شما به جاي ابعادي كه ايشون دادند، يه متغير قرار بديد كه مقدار اون را هنگامي كه تصوير را لود مي‌كنيد، به صورت زير انتساب بديد:

    MyWidth := LoadedImage.Width div 3;
    MyHeight := LoadedImage.Height div 3;

    يا علي... موفق باشيد...

  10. #10

    نقل قول: تقسیم عکس

    سلام
    p:=MainIMG.ScanLine[i];

    این خط ارور می ده و من نمی دونم چیکار کنم. یه پازل نوشم که قراره عکس رو باز کنه و توی جاها قرار بده اما تا حالا حتی با اهنمایی های شما موفق نشدم. اگه میشه ارور این خط رو حل کنید.

  11. #11
    کاربر دائمی آواتار Hamid.Kad
    تاریخ عضویت
    آبان 1385
    محل زندگی
    پُشت هیچستانم...
    پست
    349

    نقل قول: تقسیم عکس

    چه خطایی میده ؟

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

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