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

نام تاپیک: زوم بر روی عکس

  1. #1

    زوم بر روی عکس

    با سلام به همه دوستان و اساتید محترم
    آیا می توان با کد نویسی عمل زوم این و زوم اوت را بر روی عکسی انجام داد البته در دلفی ؟
    متشکرم.

  2. #2
    کاربر دائمی آواتار مصطفی ساتکی
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    www.7khatcode.com
    پست
    1,193

    نقل قول: زوم بر روی عکس

    خود دلفي همچنين كامپوننتي نداره. اصول كار بدين صورت كه بايستي يك مقدار Zoom داشته باشد در حالت عادي zoom برابر 100 در نظر بگيريد .با تغيير اين zoom ابعاد view شما كم و زياد ميشه.پس اينجا 2 تا ابعاد داريد يكي مربوط به zoom و ديگري مربوط به اندازه واقعي يا ابعاد مربوط DIB Bitmap كه اندازه واقعي bitmap است.
    وقتي كه zoom‌تغيير مي كنه شما يه zoomcof رو تعيين مي كنيد zoomcof= zoom/100 با ضرب zoomcof در ابعاد واقعي ابعاد View بدست مياد . اگر اينكار تو يه كامپوننت بخايد انجام بديد كلاس خودتونو از TCustomControl به ارث ببريد .كه بتونيد زمانيكه Scrollbar نياز بود اونو visible كنيد . اگر ابعاد View در هر دو جهت افق و عمود بيشتر از ابعاد كنترل فوق باشد scroll ان جه ظاهر و در غير اينصورت ناپديد مي شود .
    شما در واقع يه مختصات مربوط به Bitmap داريد و يه مختصات مربوط به view.
    وقتي position‌مربوط به scroll ها تغيير مي كنه اين موقعيت در مختصات View مي باشد شما بايستي اين مختصات جديد رو به مختصات واقعي تبديل كرده و آن ناحيه مورد نظر رو با StretchBlt به DC مقصد كه همان dc كنترل فوق كپي كنيد. delphi7 تو پوشه Sample\Scrollbar يه مثال مشابه داره كه اون مي تونه تو تغيير scroll به شما كم كنه.

  3. #3
    کاربر دائمی آواتار SAASTN
    تاریخ عضویت
    خرداد 1385
    محل زندگی
    تهران
    سن
    39
    پست
    730

    نقل قول: زوم بر روی عکس

    آیا می توان با کد نویسی عمل زوم این و زوم اوت را بر روی عکسی انجام داد البته در دلفی ؟
    با Canvas.CopyRect می تونید پیاده سازیش کنید، وقتی که ابعاد مستطیل مبدا و مقصد یکی نباشه CopyRect خودش عکس رو Resize می کنه، ولی این روش از Antialias پشتیبانی نمی کنه و وقتی عکس ها رو بزرگ یا کوچیک می کنید لبه های تصاویر کیفیتشون رو از دست میدن.
    یه راه خیلی ساده هم اینه که یه Image بندازی توی یه ScrollBox و خاصیت Stretch عکس رو True کنی و با ابعاد (Width/Height) خود Image بازی کنی. که بازم مشکل لبه های نا هموار رو داره.
    برای هموارسازی تصویر هم یه الگوریتم Antialias اینجا هست که شاید بدردت بخوره.

  4. #4
    کاربر دائمی آواتار مصطفی ساتکی
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    www.7khatcode.com
    پست
    1,193

    نقل قول: زوم بر روی عکس

    یه راه خیلی ساده هم اینه که یه Image بندازی توی یه ScrollBox و خاصیت Stretch عکس رو True کنی و با ابعاد (Width/Height) خود Image بازی کنی. که بازم مشکل لبه های نا هموار رو داره.
    با حركت Scroll تصوير پرش مي كنه و View خوبي نداره.

  5. #5

    نقل قول: زوم بر روی عکس

    متشکرم از پاسخ هایتان
    اما اگر امکان دارد و دسترسی به سورس خوبی دارید بیشتر یاری ام کنید
    متشکرم.

  6. #6
    کاربر دائمی آواتار مصطفی ساتکی
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    www.7khatcode.com
    پست
    1,193

    نقل قول: زوم بر روی عکس

    اگر ميخايد الگو بگيريد imageen رو با سورس تهيه كنيد . كلاس TImageenView مربوط به همين كار ميشه .البته اين ImageEn يا ايتاليايي بد دست خطن 3 ،4 نفر دست خط يكي از اون يكي بدتر.
    البته در مورد scroll افقي و عموديش اونا win32 كار كردن كه شما براي سادگي كار مي تونيد از TScrollbar بجاي اون استفاده كنيد.بقيه موارد هم هموني بود كه در بالا توضيح دادم.

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

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