نحوه بزرگنمایی بخش خاصی از یک تصویر در WPF
سلام دوستان
می خوام توی پروژه خودم با WPF یک منطقه خاص از یک تصویر رو زوم (بزرگنمایی) کنم. برای نمایش تصویر از یک کنترل Image استفاده کردم. برای اینکه بهتر بتونم منظور خودمو بیان کنم تصویر زیر رو مشاهده بفرمایید
فرض کنید ابعاد تصویر بالا 600 در 400 باشه. حالا من میخوام اون مستطیل قرمز رنگ رو که داخل این تصویر هست بزرگنمایی کنم. برای این کار من از ScaleTransform استفاده می کنم و ضریب مقیاس رو 10 حساب کردم و RenderTransformOrigin رو 0.75 و 0.85 حساب کردم.
تصویر زیر به من نمایش داده شده
کدهای xaml که برای این کار نوشتم هم به صورت زیر هست
<Grid>
<Button Width="600" Height="400">
<Button.Template>
<ControlTemplate>
<Grid ClipToBounds="True">
<Image Source="c:\temp\sample.bmp" Stretch="Uniform" RenderTransformOrigin="0.75, 0.85">
<Image.RenderTransform>
<ScaleTransform ScaleX="10" ScaleY="10" />
</Image.RenderTransform>
</Image>
</Grid>
</ControlTemplate>
</Button.Template>
</Button>
</Grid>
حالا مشکل این جاست که وقتی من بزرگنمایی میکنم دقیقا اون مستطیل قرمر به من نمایش داده نمیشه و اطراف اون هم نمایش داده میشه. در واقع بخشی از تصویری که نیاز به بزرگنمایی داره از نمایش داده نمیشه
ممنون میشم راهنمایی بفرمایید چجوری دقیقا بخش مورد نیاز رو بزرگنمایی کنم
میتونید از دستور CroppedBitmap برای این کار استفاده کنید
<Image>
<Image.Source>
<CroppedBitmap Source="c:\temp\sample.bmp" SourceRect="420,330,60,40"/>
</Image.Source>
</Image>
همچنین برای بزرگنمایی بخش خاصی از یک تصویر در WPF میتونید از یک ImageBrush و یک ViewBox هم استفاده کنید. برای این منظور از دستور زیر میتونید استفاده بفرمایید
<Grid>
<Grid.Background>
<ImageBrush ImageSource="c:\temp\sample.bmp"
ViewboxUnits="Absolute" Viewbox="420,330,60,40"/>
</Grid.Background>
</Grid>
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf
- Library Animation برای کنترلهای WPF
- مشکل در تغییر مقدار Text کنترل RibbonBar در کامپوننت DevExpress
- قرار دادن مقادیر ارسالی یک ستون از جدول به صورت سطری در استیمول