自动裁剪图像并调整其大小

时间:2014-01-23 16:03:26

标签: c# wpf crop resize-image

我需要在加载图片后立即裁剪并调整WPF应用程序中的图像大小。 所以,我的基本图像有一个VGA大小(640x480),我需要裁剪边缘(顶部18像素,底部36像素,左边48像素,右边24像素)。新图像(568 x 426像素)需要重新设计为原始尺寸(640 x 480像素) - 基本上它就像我们在摄影中使用的数码变焦镜头。

我已经找到了一些示例代码(Cropping whitespace from image in C#) - 但这有点太复杂了,因为我不需要检测图像上的空白。有没有简单的算法只是通过使用XAML来做到这一点?

提前致谢。

1 个答案:

答案 0 :(得分:1)

我认为你应该能够使用Viewbox Class来做到这一点。从链接页面:定义可以拉伸和缩放单个子项以填充可用空间的内容装饰器。您确实在Window添加了一个,并将Image设置为内容,然后您可以设置属性来控制它显示的图像部分:

<ViewBox Width="500" Height="500" Stretch="Uniform">
    <Image Source="Images/SomeImage.jpg" Width="300" Height="300" 
        Margin="-48,-18,-36,-24" />
</ViewBox>

尝试使用不同的StretchDirection值并将Margin设置为负值以进行裁剪。链接页面中有一些示例,但如果您需要更多帮助,请告诉我。