وقتی روی یک تصویر Bitmap زوم میکنیم چه اتفاقی می افته؟

وقتی روی یک تصویر Bitmap زوم میکنیم چه اتفاقی می افته؟ منظورم در سطح پیکسل ه اچه اتفاقی می فته؟ پیکسل ها اصافه میشن ؟ اگه آره کجا اضافه میشن و چطوری؟ بر چه اساسی؟ لطفا به صورت مفهومی و دقیق توضیح بدید
با تشکر /.
 

a_mehr

Member
باید بین دو تا مفهوم تمایز قایل بشید که معمولا با هم قاطی می شن.

اگه منظورتون از زوم کردن بزرگنمایی هست باید بگم خیر پیکسل ها اضافه نمی شن بلکه درشت تر نشون داده می شن.
ولی اگر منطورتون transform کردن هست. بله پیکسل ها بر اساس یک الگوریتم در فتوشاپ اضافه میشن.

حالا منظورتون کدوم هست؟
 
منظورم بزرگنمایی هستش ، چه اتفاقی میفته در این حالت ؟ منظور از transform که فرمودید چی هست؟
با تشکر /.
 

bitaroos

Member
سلام
یه عکس برات آماده کردم بدون شرح
البته یکمی شرح بدم بد نیست

تصویر اصلی اون بالایی هستش، که یه بار روش عملیات بزرگنمایی انجام دادیم و یه بار هم transformation.
توی تمام تصاویر، رزولوشن 7pixle per cm هست، پس رزولوشن تغییر پیدا نکرده.

بزرگ نمایی مثل استفاده از ذره بینه، یعنی به صورت مجازی عکس رو بزرگ میکنی (ولی در واقعیت عکس بزرگ نشده)
ولی وقتی ترنسفورم میکنی، ابعاد عکس بزرگ میشه، میشه گفتت که مثلا عکس 6*4 ترنسفورم شده ی عکس 3*4 هست

به مقادیر zoom، رزولوشن(7pix/cm) و مقیاس هر سه تصویر که با فلش دو سویه نشون داده شده، دقت کن و این مقادیر رو با هم مقایسه کن.

موفق باشی
 

پیوست ها

  • Untitled-1.jpg
    Untitled-1.jpg
    170.5 کیلوبایت · بازدیدها: 12
ممنونم بابت پاسختون ولی هنوز یک چیزی برام روشن نشده ، شما بیایید یک سند با ابعاد 1*1 پیکسل (با هر رزولوشنی) ایجاد کنید ، این سند رو با رنگ مشکی پر کنید (که در واقع یک پیکسل هستش) ، حالا وقتی زومش میکنیم با ابزار Zoom ، بزرگ میشه طوری که انگار ابعادش مثلا تبدیل شده به 10 پیکسل در 10 پیکسل که ما میتونیم راحت ببینیم ، خلاصه پیکسل ها به صورت موقت زیاد شدن دیگه؟ حال این افزایش مجازی تعداد پیکسل ها توسط فتوشاپ انجام میشه ؟

راستی یک سوال دیگه ، وقتی 2 پیکسل با رنگ های a و b که کنار هم قرار دارن رو مثلا 200% ترنسفرم میکنیم آیا الزاما تعداد پیکسل های a به دو تا و b به دو تا افزایش پیدا میکنه (مجموعا 4 تا )و یا نه قانونی براش وجود نداره؟! به عبارتی افزایش تعداد پیکسل ها بر چه اساسی انجام میشود؟

با تشکر/.
 

the_king

مدیرکل انجمن
ممنونم بابت پاسختون ولی هنوز یک چیزی برام روشن نشده ، شما بیایید یک سند با ابعاد 1*1 پیکسل (با هر رزولوشنی) ایجاد کنید ، این سند رو با رنگ مشکی پر کنید (که در واقع یک پیکسل هستش) ، حالا وقتی زومش میکنیم با ابزار Zoom ، بزرگ میشه طوری که انگار ابعادش مثلا تبدیل شده به 10 پیکسل در 10 پیکسل که ما میتونیم راحت ببینیم ، خلاصه پیکسل ها به صورت موقت زیاد شدن دیگه؟ حال این افزایش مجازی تعداد پیکسل ها توسط فتوشاپ انجام میشه ؟

راستی یک سوال دیگه ، وقتی 2 پیکسل با رنگ های a و b که کنار هم قرار دارن رو مثلا 200% ترنسفرم میکنیم آیا الزاما تعداد پیکسل های a به دو تا و b به دو تا افزایش پیدا میکنه (مجموعا 4 تا )و یا نه قانونی براش وجود نداره؟! به عبارتی افزایش تعداد پیکسل ها بر چه اساسی انجام میشود؟

با تشکر/.
سوال تون زیاد ربطی به فتوشاپ نداره.

فتوشاپ بجز حافظه اصلی تصویر که لایه ها بصورت مجزا داخلش ثبت می شوند یک تصویر موقتی تک لایه هم با زوم
فعلی نگه می داره، وقتی روی تصویر زوم می کنید لایه های اصلی تصویر هیچ تغییری نمی کنند، فقط اون تصویر
موقتی مجددا رسم میشه. برای بزرگ و کوچک شدن تصویر هم فرایند interpolation انجام میشه. در
فرایند interpolation اول یک تصویر با اندازه جدید ایجاد میشه که تمامی نقاط اش خالی اند. بعد دونه دونه نقاط این
تصویر زوم شده بر اساس تصویر اصلی و فرمول های ریاضی رنگ میشه، رنگ هر نقطه بر اساس رنگ یک نقطه یا
ترکیب رنگ چند نقطه از تصویر اصلی بدست میاد. فرضا 20 درصد رنگ یک نقطه و 80 درصد رنگ نقطه مجاورش.

فرمول های Interpolation هم متفاوته، بعضی هاشون با کیفیت تر اند ولی کند تر و بعضی هاشون بی کیفیت تر
ولی سریعتر.

رجوع شود به :

شیوه های مختلف تغییر ابعاد تصویر در ویژوال بیسیک

مشکل با resize عکس ها در Cs4

برخی از شیوه های Interpolation در ویکی پدیا :

Bicubic interpolation

Bilinear interpolation

Nearest-neighbor interpolation
 

bitaroos

Member
سلام مجدد

ممنونم بابت پاسختون ولی هنوز یک چیزی برام روشن نشده ، شما بیایید یک سند با ابعاد 1*1 پیکسل (با هر رزولوشنی) ایجاد کنید ، این سند رو با رنگ مشکی پر کنید (که در واقع یک پیکسل هستش) ، حالا وقتی زومش میکنیم با ابزار Zoom ، بزرگ میشه طوری که انگار ابعادش مثلا تبدیل شده به 10 پیکسل در 10 پیکسل که ما میتونیم راحت ببینیم ، خلاصه پیکسل ها به صورت موقت زیاد شدن دیگه؟ حال این افزایش مجازی تعداد پیکسل ها توسط فتوشاپ انجام میشه ؟
جواب سوال اول:
نه به هیچ وجه با زوم کردن به تعداد پیکسل ها اضافه نمیشه، بلکه ابعاد پیکسل بزرگ و کوچیک میشه.
آخه وقتی یه طرح سنگین که حجم فایل psd ش 1gig هست رو وقتی می خوام ترنسفورم کنم یا 10 دقیقه طول میکشه یا
error میده Full Disk . ولی وقتی زومش میکنم به راحتی زوم میشه (در حد صدم ثانیه) این نشون میده که موقع زوم قرار نیست
پیکسل ها اضافه بشن. بلکه ابعاد پیکسل تغییر میکنه.

اصلا خودت میتونی تو فتوشاپ امتحان کنی، یه تصویر با کیفیت معمولی یا کیفیت پایین تو فتوشاپ باز کن و اینقدر زومش کن تا
تک تک پیکسل ها رو ببینی، کاملا واضحه که ابعاد پیکسل ها تغییر میکنه نه تعدادشون.
هر چقدر که زوم کنی و بعد به منوی Image>Image size بری، می بینی تعداد پیکسل های عمودی و افقی ثابته، پس با زوم
کردن تعداد پیکسل ها زیاد نمیشه

---------------------------------------------------

راستی یک سوال دیگه ، وقتی 2 پیکسل با رنگ های a و b که کنار هم قرار دارن رو مثلا 200% ترنسفرم میکنیم آیا الزاما تعداد پیکسل های a به دو تا و b به دو تا افزایش پیدا میکنه (مجموعا 4 تا )و یا نه قانونی براش وجود نداره؟! به عبارتی افزایش تعداد پیکسل ها بر چه اساسی انجام میشود؟
جواب سوال دوم
البته که قانون داره. 200% یعنی 2 برابر 50% یعنی نیم برابر، همیشه اینقدر روند هم نیست ممکنه 172.5% ترنسفورم کنی.
با یه تناسب ساده به دست میاد. به را حتی میتونی خودت امتحان کنی، می تونی خودت هم امتحان کنی، به فیلم پیوستی نگاه کن

ابعاد 100*100 پیکسلی رو به عنوان صفحه ی طراحی یا همون بوم نقاشی مون ایجاد کردم.
بعدش یه مربع 5*5 پیکسلی ایجاد کردم و وارد بوم نقاشیم کردمش.
بعد هم یه ترنسفورم 20 درصد بهش اعمال کردم.

مشخصه که با زوم کردن، ابعاد پیکسل تغییر میکنه ولی با ترنسفورم کردن، تعدادشون.

البته اینم توجه کن که معیار ما فقط تعداد پیکسل یا طول نیست. بلکه معیار ما resolution هست که تلفیقی از این 2 تاست
توی شیمی دبیرستان یه چیزایی میخوندیم: خواص مقداری (فراگیر) که به مقدار ماده بستگی داشت، مثل جرم آهن
ولی یه خواصی هم هست که بهشون میگن غیر مقداری (متمرکز) که یه چیز مطلقه و به مقدار ماده بستگی نداره
مثل چگالی

اینجا رزولوشن از نوع غیر مقداریه، یعنی به ابعاد سند و یا تعداد پیکسل های اون به تنهایی بستگی نداره، به عبارت دیگه
شما می تونی 2 تا عکس بارزولوشن یکسان داشته باشی، ولی ابعادشون متفاوت باشه.

یعنی میخوام اینو بگم که وقتی زوم میکنیم، درسته که ابعاد پیکسل بزرک میشه، ولی رزولوشن ثابت میمونه
به این عکس نگاه کن، بعد از زوم کردن رزولوشن همون 7px/cm باقی مونده یعنی توی 1 سانتی متر 7 پیکسل داریم و همین
معیار ماست.
 

پیوست ها

  • Untitled.rar
    287.2 کیلوبایت · بازدیدها: 1
آخرین ویرایش:
نگاه کنید دوستان من مفهوم ترنسفرم کردن یک تصویر رو خوب فهمیدم ، فقط کمی در مورد زوم مشکل دارم ، خیلی ساده فرض کنید یک سند 1*1 پیسکل به عنوان بوم نقاشیمون داریم (Canvas) و داخل این سند که اندازش در حالت Actual Pixel به اندازه یک نقطه کوچیکه رو با یک رنگ پر میکنیم خب حالا ما یک پیکسل رنگی داریم که طبق تعاریف ابعادی نداره و یکی از سلولهای مانیتور رو پر کرده تا اینجا درست مشکلی نیست ، خب حالا بیایید همین نقطه کوچیک رو زوم کنید درسته همون پیسکله ولی ابعادش داره بزرگ میشه ، خب بالاخره همون پیکسل الان بزرگ شده و در نتیجه برای بزرگ دیدن یک پیکسل باید به صورت مجازی اون پیکسل ها زیاد بشن؟ این زیاد شدن مجازی و موقتی پیسکل ها که در یک لحظه آنی به صورت واقعی چندین سلول مانیتور رو پر میکنه توسط فتوشاپ انجام میشه؟
یعنی آیا مثلا فتوشاپ به محض زوم کردن ، می آد و یک لایه شفاف میکشه رو اون پیکسل ما و با هر بار زوم کردن بر طبق الگوریتم محاسباتیش یک سری پیکسل به عرض و طول تصویر لایه شفاف اضافه میکنه تا ما همون پیکسل رو موقتا به صورت بزرگ ببینیم؟
از این ساده تر نمیتونم مفهوم رو برسونم نمی دونم روشن شد یا نه؟
 

AliReza Bahrami

مدیر انجمن
دوست عزيز هر پيكسل حاوي يه سري اطلاعات هست كه بسته به تعداد اون اطلاعات كيفيت و حجمش مشخص ميشه
يعني پيكسل فقط رنگ و ... نيست !!!
پس اگر قرار بشه با زوم كردن به طور مجازي پيكسل اضافه بشه ... خودتون فكرشو كنيد براي هر تصوير بايد يه الگوريتم بشينن بنويسن كه اصلا با عقل جور در نمياد

براي زوم كردن هم تقريبا همون عملي انجام ميشه كه شما با canvans كردن يا ترنسفرم كردن انجام ميديد با اين تفاوت كه چيزي apply نميشه و تنها با كم كردن اين اطلاعات پيكسل تصوير به صورت بزرگنما شده نمايش داده ميشه چيزي از تصوير كم نميشه تنها يك روش برنامه نويسي هست كه با فرمول و كد خاص خودش ميتونه توي يه بازه زماني كوتاه عمل زوم رو بدون crop يا restrize كردن به شما نمايش بده !!
 
دوست عزيز هر پيكسل حاوي يه سري اطلاعات هست كه بسته به تعداد اون اطلاعات كيفيت و حجمش مشخص ميشه
يعني پيكسل فقط رنگ و ... نيست !!!
یک پیسکل در حالت 8 بیتی یعنی 8 تا بیت که هر بیتی میتونه 1 یا 0 باشه ، ما در هر مدل رنگی باشیم چه bitmap چه CMYK و ... در نهایت اونچیزی که از طریق مانیتور میبینیم از طریق مدل RGB تولید میشه و به چشم های ما میرسه ، خب RGB چیه ؟ مجموعه ای از 3 تا رنگ قرمز و سبز و آبی که هر کدوم از این رنگ ها در حالت پیش فرض 8 بیت اطلاعات دارند ، به خاطر همینه که برای هر کدوم از این رنگ ها 256 درجه رنگی مختلف وجود داره (256=8^2) خب هر کدوم 256 رنگ مختلف پس در مجموع 16777216=256*256*256 رنگ متفاوت میشه برای هر سلول مانیتور (حالا اسمش هر چی هست) تولید کرد ، من تا اینجا رو فهمیدم میشه بفرمایید چه اطلاعات دیگه ای ممکنه ذخیره بشه .


پس اگر قرار بشه با زوم كردن به طور مجازي پيكسل اضافه بشه ... خودتون فكرشو كنيد براي هر تصوير بايد يه الگوريتم بشينن بنويسن كه اصلا با عقل جور در نمياد .
نه لازم نیست برای هر تصویر یک الگوریتم تهیه بشه ، در برنامه نویسی ما فقط با پیکسل ها کار داریم ، مثلا برای همین مورد زوم کردن موقت ، میتونیم بگیم که هر پیکسلی که روی آن عمل زوم انجام شد با الگوریتم خاصی در عرض و طول تکثیر بشه (البته به تناسب مقدار زوم کردن) حال مهم نیست اون پیکسله مربوط به عکس یک توپ فوتبال باشه یا عکس یک گل

براي زوم كردن هم تقريبا همون عملي انجام ميشه كه شما با canvans كردن يا ترنسفرم كردن انجام ميديد با اين تفاوت كه چيزي apply نميشه و تنها با كم كردن اين اطلاعات پيكسل تصوير به صورت بزرگنما شده نمايش داده ميشه چيزي از تصوير كم نميشه
درسته فقط منظورتون از کم کردن اطلاعات پیسکل چیه؟ چرا کم کردن؟ و البته چه اطلاعاتی؟

با تشکر /.
 

bitaroos

Member
دوست من
فکر کنم الان دیگه مشکل شما مربوط به طراحی و گرافیک نمیشه، بلکه یه جورایی مربوط به برنامه نویسی میشه.
یعنی ارتباط بین مانیتور و نرم افزار.

همونجور که جناب the king فرمودند. اطلاعات لایه های فتو شاپ یه جایی توی رم و هارد ذخیره میشه و اون چیزی که
ذخیره شده، به کاربر نشون داده نمیشه.

در عوض یه جورایی یه تصویر flatten image شده توی یه متغیر از نوع bitmap یا image یا .... ذخیره میشه، و این متغیر
برای نمایش، به مانیتور ارسال میشه.

با زوم کردن، این تصویری که به مانیتور ارسال میشه تغییر میکنه، نه اطلاعات اصلی لایه ها.

حالا خود مانیتور یه رزولوشنی داره، همون dpi یا dot per inch که فکر میکنم 70 یا 72 هستش.
پس با zoom in کردن، ممکنه چندین پیکسل مانیتور روشن بشه تا فقط یک پیکسل از تصویر اصلی به نمایش در بیاد
ممکن هم هست که با zoom out کردن، یه پیکسل از صفحه نمایش حاوی چندین پیکسل از عکس باشه
یعنی یه جورایی اون چندین پیکسل عکس رو به یه پیکسل تبدیل میکنه(حذف پیکسل ها)
ولی این اتفاقات فقط روی همون عکسی رخ میده، که برای نمایش روی مانیتور ارسال شده.

من دقیقا نمی دونم این کار چه جوری صورت میگیره(منظورم ارتباط نرم افزار با مانیتور هست) تو برنامه نویسی
visual این کار ها خودکار انجام میشه(با کتاب خونه GDI+)

دیگه اگر بیشتر اطلاعات میخوای فکر کنم خود جناب the king بیشتر بتونن کمکتون کنن

موفق باشی
 

AliReza Bahrami

مدیر انجمن
دوست عزيز منظورم همين موشكافي برنامه نويسيش بود كه نخواستم وارد بحثش بشم چون هم من اهل فن اين كار نيستم و هم اين تاپيك مناسبش نيست
منظورم از فقط رنگ نبودن اين مختصات 3 رديف 8 بيتي بود با مجموع 24
كه خودتون هم خونديد در موردش همون مجموع 256 كه تركيب rgb رو ايجاد ميكنه مثلا (250و160و5) به معنی : قرمز = 250، سبز = 160 و آبی = 5 می باشد که یک پیکسل نارنجی را مشخص می کند.

البته در مورد cmyk كه فرموديد مانيتورهاي crt بهتر جواب ميده چون تشخيص رنگشون بهتره و ال سي دي نميتونه از پس تشخيص رنگ cmyk بر بياد براي همين هنوز گرافيست ها از مانيتورهاي سي آر تي استفاده ميكنند

نكته بعد در مورد اطلاعات پيسكل

پيكسلها در محاوره به نام pel ودر زبان رسمي فناوري Picture Elementناميده ميشود.
براي فهم بهتر اين نكته يك ديوار ساخته شده رااز آجررا تصوركنيد كه هركدام از آجرهاي آن رنگ خاصي دارند (والبته ممكن است برخي آجرها همرنگ باشند) حال تصوركنيد هنگامي كه از فاصله خيلي دور به ديوار نگاه ميكنيد يك شكل خاص روي آن مشهود باشد اين شكل همان عكس وتصوير ديجيتالي است وآجرهاي رنگي تشكيل دهنده آن هم همان پيكسلها هستند كه در سطرها وستونهاي پي در پي قرار دارند.
c5%D9%BE%D9%8A%D9%83%D8%B3%D9%84.jpg


هر پيكسل از يك ديود حساس به نور ساخته ميشودهرچه ديودها بزرگترباشند نور بيشتري پيكسل خواهدداشت وهرچه كوچكتر باشد نوركمتر را ارائه و ثبت ونمايش ميدهد

c5DGIA-5-Large.jpg


البته اين محاسبات توي نرم افزارهاي برداري متفاوت هست چون چيزي به اسم پيكسل درش وجود نداره و يه سري محاسبات رياضي هست
و مستقلا خودشون رزوليشن هستند

به هر حال اگر اصولي تر ميخواييد به جواب برسيد تاپيكتون رو توي بخش برنامه نويسي و نرم افزار بيان كنيد چون توي اين بخش زود به جواب نميرسيد و متخصص برنامه نويسي ممكنه اصلا نباشه

موفق باشيد
 

a_mehr

Member
نگاه کنید دوستان من مفهوم ترنسفرم کردن یک تصویر رو خوب فهمیدم ، فقط کمی در مورد زوم مشکل دارم ، خیلی ساده فرض کنید یک سند 1*1 پیسکل به عنوان بوم نقاشیمون داریم (canvas) و داخل این سند که اندازش در حالت actual pixel به اندازه یک نقطه کوچیکه رو با یک رنگ پر میکنیم خب حالا ما یک پیکسل رنگی داریم که طبق تعاریف ابعادی نداره و یکی از سلولهای مانیتور رو پر کرده تا اینجا درست مشکلی نیست ، خب حالا بیایید همین نقطه کوچیک رو زوم کنید درسته همون پیسکله ولی ابعادش داره بزرگ میشه ، خب بالاخره همون پیکسل الان بزرگ شده و در نتیجه برای بزرگ دیدن یک پیکسل باید به صورت مجازی اون پیکسل ها زیاد بشن؟ این زیاد شدن مجازی و موقتی پیسکل ها که در یک لحظه آنی به صورت واقعی چندین سلول مانیتور رو پر میکنه توسط فتوشاپ انجام میشه؟
یعنی آیا مثلا فتوشاپ به محض زوم کردن ، می آد و یک لایه شفاف میکشه رو اون پیکسل ما و با هر بار زوم کردن بر طبق الگوریتم محاسباتیش یک سری پیکسل به عرض و طول تصویر لایه شفاف اضافه میکنه تا ما همون پیکسل رو موقتا به صورت بزرگ ببینیم؟
از این ساده تر نمیتونم مفهوم رو برسونم نمی دونم روشن شد یا نه؟

دوست گرامی

دوستان توضیحاتی دادند که بسیار مفید بود ولی فکر می کنم برای روشن شدن این مساله باید یک مفهوم کوچیک دیگه رو هم توضیح میدادم و اون هم مفهوم پیکسل در فتوشاپ بود.
نکته:
منظور فتوشاپ از یک پیکسل ، یک پیکسل مانیتور نیست. بلکه منظور یک پیکسل اون فایل هست. حالا این فایل میتونه فایلی باشه که چاپ میشه و یا فایلی باشه که برای کاربردهای مانیتوری استفاده می شه.

بر خلاف نظر دوستان، معتقدم که سوال شما در حوزه ی برنامه نویسی نیست و برای درک بهتر مفاهیم پایه ای فتوشاپ و افزایش کیفیت کارهای دوستان طراح لازم و ضروری است.

اگر توضیح بیشتری لازم بود بفرمایید که در حد بضاعت عرض کنم.
 

جدیدترین ارسال ها

بالا