Member 11859517 Ответов: 1

Как увеличить изображение в процентах в WPF C#?


У меня есть combobox со значением 10%,25%,50%,100%,125%, при выделении я хочу увеличить изображение. Как я могу это сделать?

вот мой xaml для изображения, и я hvae combobox со значениями. как это сделать

спасибо.

Что я уже пробовал:

<pre><ScrollViewer x:Name="ImgScroll" Grid.Column="0" Margin="5" Background="White" >
                    <ScrollViewer.Style>
                        <Style TargetType="{x:Type ScrollViewer}">
                            <Setter Property="HorizontalScrollBarVisibility" Value="Disabled"/>
                            <Setter Property="VerticalScrollBarVisibility" Value="Disabled"/>
                        </Style>
                    </ScrollViewer.Style>
                    <Border x:Name="ViewedPhotoArea" Padding="4" Margin="4" Background="White" BorderBrush="#22000000" BorderThickness="0" Visibility="Visible" ClipToBounds="True" >
                        <Border.RenderTransform>
                            <TranslateTransform 

                            X="{Binding HorizontalOffset}" 

                            Y="{Binding VerticalOffset}" />
                        </Border.RenderTransform>

                        <Image  x:Name="imgCurrent"

                                Margin="50"  RenderTransformOrigin="0.5, 0.5" IsManipulationEnabled="True"  

                                RenderOptions.BitmapScalingMode="HighQuality" RenderOptions.EdgeMode="Aliased" >
                            <Image.LayoutTransform>
                                <TransformGroup>
                                    <ScaleTransform x:Name="ScaleTrans" />
                                </TransformGroup>
                            </Image.LayoutTransform>
                            <Image.Effect>
                                <DropShadowEffect BlurRadius="20" ShadowDepth="0" Opacity="0.8"   Color="Black" />
                            </Image.Effect>
                        </Image>
                    </Border>
                </ScrollViewer>

1 Ответов

Рейтинг:
2

Member 11859517

Спасибо за ответ,
Я не хочу создавать никаких пользовательских элементов управления. я хочу просто увеличить масштаб. например, масштабное преобразование.

Member 11859517

спасибо,
Я могу увеличить масштаб колесика мыши,
если (например, Дельта > 0)
{
if (count < 3)
{
этот.Скалетранс.Свойства scaleX += е.Дельта * 0.002;
этот.Скалетранс.Чешуйчатые += е.Дельта * 0.002;

считать++;
}

}
else if (e.Delta < 0)
{
if (count > 0)
{
этот.Скалетранс.Свойства scaleX += е.Дельта * 0.002;
этот.Скалетранс.Чешуйчатые += е.Дельта * 0.002;
считать--;
}
}
ViewedPhotoScroll.ScrollToHorizontalOffset(ViewedPhotoScroll.HorizontalOffset);
ViewedPhotoScroll.ScrollToVerticalOffset(ViewedPhotoScroll.VerticalOffset);

но как сделать на combobox selection % value у вас есть какие-либо идеи.

Richard MacCutchan

Точно так же. Возьмите значение из выпадающего списка (независимо от того, что вы в нем сохранили) и отрегулируйте масштабный коэффициент до требуемого значения или процента.

Member 11859517

Я попробовал это сделать, но здесь обработчик событий mouseWheel имеет e.data, но изменение выбора ComboBox fof не будет иметь e.data.
и как я могу передать значение combobox. здесь e.Delta * 0.002

Richard MacCutchan

Создайте необходимый объект самостоятельно. Это просто стандартный C#, ничего сложного.