У меня есть изображение, и я хочу обрезать его, используя прямоугольник, код ниже код, который я положил изображение и нарисуйте прямоугольник в центре изображения:Обрезка изображения с прямоугольником
MainPage.xaml:
<Canvas x:Name="canvas" HorizontalAlignment="Center" VerticalAlignment="Center" Width="340" Height="480" Background="Blue">
<Image x:Name="photo" HorizontalAlignment="Center" VerticalAlignment="Center" ManipulationMode="All">
<Image.RenderTransform>
<CompositeTransform/>
</Image.RenderTransform>
</Image>
<Path Stroke="Black" StrokeThickness="1">
<Path.Data>
<RectangleGeometry Rect="0,0,340,480"/>
</Path.Data>
</Path>
</Canvas>
Успешное отображение изображения и рисование прямоугольника. Образец образца, как показано ниже:
Теперь я хочу нажать кнопку, чтобы обрезать изображение в прямоугольнике (а не в автоматическом клипе). При загрузке изображения прямоугольник автоматически добавляется. Поэтому нельзя использовать «Point Pressed» и «Point Released». А также не может использовать «rectangle.clip», потому что он будет автоматически обрезать изображение. Как это решить? Спасибо
Обновлено: Я могу переместить изображение, Как привязать данные и установить координату прямоугольника в динамический? Ниже приведен код преобразования изображения. Благодарю.
public sealed partial class MainPage: Page
{
private CompositeTransform compositeTranslation;
public MainPage()
{
this.InitializeComponent();
photo.ManipulationDelta += Composite_ManipulationDelta;
compositeTranslation = new CompositeTransform();
photo.RenderTransform = this.compositeTranslation;
}
void Composite_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
{
// scale the image.
compositeTranslation.CenterX = photo.ActualWidth/2;
compositeTranslation.CenterY = photo.ActualHeight/2;
compositeTranslation.ScaleX *= e.Delta.Scale;
compositeTranslation.ScaleY *= e.Delta.Scale;
compositeTranslation.TranslateX += e.Delta.Translation.X;
compositeTranslation.TranslateY += e.Delta.Translation.Y;
}
}
Спасибо за ваш ответ. Но после нажатия кнопки обрезки изображение исчезнет. –
Что вы ожидали вывода? Урожай делает только эту вещь. – Xyroid
То, что я хочу, обрезает изображение внутри прямоугольника, но после щелчка обрезает изображение целиком. –