تالار گفتگوی پارسی‌لاتک

لاتک LATEX => گرافیک، جدول و شکل => نويسنده: فرشاد ترابی در سپتامبر 28, 2014, 02:23:34 pm

عنوان: به دست آوردن نسبت ابعادی یک عکس
رسال شده توسط: فرشاد ترابی در سپتامبر 28, 2014, 02:23:34 pm
با سلام
فرض کنید در یک متن تعدادی عکس قرار است قرار داده شود. عکسهایی که وجود دارند سه دسته می‌شوند
۱. عکسهایی با ابعاد تقریبا مربع. مثلا نسبت طول به عرض آنها کمتر از ۱.۵ است.
۲. عکسهایی به صورت مستطیل عمودی که نسبت ارتفاع آن به پهنای آن بیش از ۲ است.
۳. عکسهایی به صورت مستطیل افقی که نسبت ارتفاع آن به پهنای آن کمتر از 0.5 است.
حال با توجه به نوع عکس، می‌خواهم ابعاد آنرا به صورتهای متفاوت تنظیم کنم. مثلا برای عکسهای توع ۱، پهنای ۳ سانت، عکسهای ۲ پهنای ۱ سانت و
عکسهای نوع ۳ ارتفاع ۱ سانت.
آیا می‌توان این کار را انجام داد؟
عنوان: پاسخ : به دست آوردن نسبت ابعادی یک عکس
رسال شده توسط: vafa در سپتامبر 28, 2014, 03:54:45 pm
از اونجایی که گفتید «مثلاً» من تست کامل ابعاد را نوشته‌ام وگرنه با مثال شما تست ابعاد خیلی ساده‌تر است:
\documentclass{article}
\usepackage{graphicx}
\newsavebox\MyGraphicBox
\newcommand*{\IncludeGraphics}[1]{%
    \sbox{\MyGraphicBox}{\includegraphics{#1}}
    \edef\MyGraphicRatio{\dimexpr\number\numexpr\number\dimexpr\ht\MyGraphicBox\relax*65536/\number\dimexpr\wd\MyGraphicBox\relax\relax sp\relax}
    \typeout{\the\ht\MyGraphicBox  /\the\wd\MyGraphicBox =\the\MyGraphicRatio}
    \ifdim\MyGraphicRatio<0.5pt
        \includegraphics[width=1cm]{#1}
    \else
        \ifdim\MyGraphicRatio<1.5pt
            \includegraphics[width=3cm]{#1}
        \else
            \ifdim\MyGraphicRatio>2pt
                \includegraphics[width=1cm]{#1}
            \fi
        \fi
    \fi
}
\begin{document}
\IncludeGraphics{test.jpg}
\end{document}

الگوریتم :

تنها کاری که شما لازم است انجام بدهید اینکه که ارتفاع عکس را تقسیم بر عرض عکس کنید تا یک نسبت بگیرید و با توجه به مقدار این نسبت عکس پهنای متفاوتی داشته باشد.
عنوان: پاسخ : به دست آوردن نسبت ابعادی یک عکس
رسال شده توسط: vafa در سپتامبر 28, 2014, 05:37:36 pm
البته توی سوال شما و همچنین کد من تکلیف نسبتی که بین ۱٫۵ و ۲ باشه روشن نیست و هیچ کاری در این صورت انجام نمیشه.
عنوان: پاسخ : به دست آوردن نسبت ابعادی یک عکس
رسال شده توسط: فرشاد ترابی در سپتامبر 28, 2014, 05:39:16 pm
من الان هرچی تست میکنم مقدار \MyGraphicRatio  را برابر با صفر برمیگردونه و برای همه یک کار انجام میده. یعنی الان خروجی typeout که شما قرار دادید به صورت زیر است
80.29979pt/223.8357pt=0.0pt
عنوان: پاسخ : به دست آوردن نسبت ابعادی یک عکس
رسال شده توسط: vafa در سپتامبر 28, 2014, 05:41:22 pm
من الان هرچی تست میکنم مقدار \MyGraphicRatio  را برابر با صفر برمیگردونه و برای همه یک کار انجام میده. یعنی الان خروجی typeout که شما قرار دادید به صورت زیر است
80.29979pt/223.8357pt=0.0pt
من یک دقیقه بعد از نوشتن  کد، آن را تغییر دادم و این مشکل را درست کردم. آیا از نسخه ویرایش شده کد استفاده کرده‌اید؟
عنوان: پاسخ : به دست آوردن نسبت ابعادی یک عکس
رسال شده توسط: فرشاد ترابی در سپتامبر 28, 2014, 05:45:23 pm
نه من از کد قدیمی استفاده کرده بودم. الان که عوضش کردم درست شد. ممنون.
شرطها را برای کار خودم درست کردم به گونه‌ای که برای تمامی کارها جواب بدهد. هدف به دست آوردن GraphicRatio  بود که به لطف شما محقق شد. ممنون.
عنوان: پاسخ : به دست آوردن نسبت ابعادی یک عکس
رسال شده توسط: وحید دامن‌افشان در سپتامبر 29, 2014, 09:20:29 pm
با سلام
فرض کنید در یک متن تعدادی عکس قرار است قرار داده شود. عکسهایی که وجود دارند سه دسته می‌شوند
۱. عکسهایی با ابعاد تقریبا مربع. مثلا نسبت طول به عرض آنها کمتر از ۱.۵ است.
۲. عکسهایی به صورت مستطیل عمودی که نسبت ارتفاع آن به پهنای آن بیش از ۲ است.
۳. عکسهایی به صورت مستطیل افقی که نسبت ارتفاع آن به پهنای آن کمتر از 0.5 است.
حال با توجه به نوع عکس، می‌خواهم ابعاد آنرا به صورتهای متفاوت تنظیم کنم. مثلا برای عکسهای توع ۱، پهنای ۳ سانت، عکسهای ۲ پهنای ۱ سانت و
عکسهای نوع ۳ ارتفاع ۱ سانت.
آیا می‌توان این کار را انجام داد؟
کاربرد این قضیه چیه؟ می‌شه توضیح بدید؟
عنوان: پاسخ : به دست آوردن نسبت ابعادی یک عکس
رسال شده توسط: فرشاد ترابی در سپتامبر 29, 2014, 09:32:59 pm
من دارم یک مجموعه خلاصه مقاله برای کنفرانس آماده می کنم که در آن نویسندگان مختصری در مورد مقاله خود توضیح میدهند و برای کار خود یک عکس هم
ضمیمه می کنند. اما این عکس میتونه سه حالت داشته باشه که با توجه به شکل عکس که در بالا توضیح دادم، چیدمان کادر متفاوت میشه. نمونه‌ای از کار
در شکل پیوست شده است.
عنوان: پاسخ : به دست آوردن نسبت ابعادی یک عکس
رسال شده توسط: وحید دامن‌افشان در سپتامبر 29, 2014, 09:41:53 pm
من دارم یک مجموعه خلاصه مقاله برای کنفرانس آماده می کنم که در آن نویسندگان مختصری در مورد مقاله خود توضیح میدهند و برای کار خود یک عکس هم
ضمیمه می کنند. اما این عکس میتونه سه حالت داشته باشه که با توجه به شکل عکس که در بالا توضیح دادم، چیدمان کادر متفاوت میشه. نمونه‌ای از کار
در شکل پیوست شده است.
۱. الان اون دو تا شکل پایین رو به خاطر صرفه‌جویی در فضای صفحه در کنار متن قرار دادین؟
۲. این کار رو دستی انجام دادید یا از این راه‌حل آقا وفا و به طور خودکار استفاده کردید؟
عنوان: پاسخ : به دست آوردن نسبت ابعادی یک عکس
رسال شده توسط: فرشاد ترابی در سپتامبر 29, 2014, 09:44:32 pm
1. چون عکسش عمودی هست در کنار متن قرار دادم تا فضای خالی زیاد نشه. اگر پایین صفحه میگذاشتم، به علت ارتفاع زیاد عکس یا باید اونقدر عکس کوچک می‌شد
    که هیچی دیده نمیشد، یا اینکه فضای بسیار زیادی پایین متن قرار میگرفت.
2. در حال حاضر با توجه به راهنمای دکتر کارن‌پهلو این کار به صورت اتوماتیک انجام می‌شه و هیچ کاری دستی صورت نمی‌گیره.

درضمن، از picinpar و wrapfig  هم استفاده کردم که به علت قرار گرفتن در محیطهای minipage  و parbox و این حرفها، همه چیز بهم میخورد. بنابراین ترجیح دادم
اینطوری حروفچینی بشه.