Mamy obraz, w którym tworzymy współrzędne okna widoku, które są górnymi/dolnymi prawymi punktami w obrazie, które są skonfigurowane, aby umożliwić oglądanie fragmentów obrazu w różnym czasie w naszej aplikacji. W WPF, w jaki sposób możemy załadować obraz, a przy prawym/dolnym prawym punkcie tego obrazu, pokazujemy tylko część obrazu w tym polu widoku?W WPF, zobacz część obrazu
11
A
Odpowiedz
14
Można to zrobić z CroppedBitmap:
<Image>
<Image.Source>
<CroppedBitmap Source="<path to source image>" SourceRect="20,20,50,50"/>
</Image.Source>
</Image>
ten wyświetli obszar 50x50 obrazu zaczynającej się w pozycji (20,20)
0
Wydaje mi się, że można zrobić zdjęcie kontroluj część widoku, jak pokazano poniżej:
<Viewbox Name="vBox" Stretch="None" HorizontalAlignment="Left"
VerticalAlignment="Top" Height="50" Width="50">
<Image Name="ClippedImage"
Source="{Binding NotifyOnSourceUpdated=True, NotifyOnTargetUpdated=True}"
Stretch="None" />
</Viewbox>
To da ci widok pola 50x50. oczywiście możesz zmienić wysokość i szerokość, aby dostosować je do swoich potrzeb. Używam scrollviewera do przesuwania po mniejszym oknie podglądu.
1
Korzystanie z RenderTransform z klipsem działa nawet lepiej, bo CroppedBitmap kinda niezmienne:
<Image x:Name="MyImage">
<Image.RenderTransform>
<TranslateTransform X="-100" Y="-100" />
</Image.RenderTransform>
<Image.Clip>
<RectangleGeometry Rect="0 0 250 250" />
</Image.Clip>
</Image>
Spowoduje to wyświetlenie obrazu o przesunięcie (100, 100) o wymiarach (150, 150), więc nie zapominaj, że rect musi zawierać startoffsets.
Oto metoda obliczania go w kodzie:
public static void ClipImage(System.Windows.Controls.Image image, Rect visibleRect)
{
image.RenderTransform = new TranslateTransform(-visibleRect.X, -visibleRect.Y);
image.Clip = new RectangleGeometry
{
Rect = new Rect(
0,
0,
visibleRect.X + visibleRect.Width,
visibleRect.Y + visibleRect.Height)
};
}
Powiązane problemy
- 1. Zobacz aktywne okno w WPF?
- 2. ios Odkodować część obrazu
- 3. wybierz część obrazu (przycinanie)
- 4. Jak ukryć część obrazu?
- 5. Utwórz część przezroczystego obrazu
- 6. Projekt WPF Czas Zobacz model
- 7. WPF i Prism Zobacz Nakładka
- 8. Przeciąganie obrazu w WPF
- 9. Jak ukryć część kontrolki WPF?
- 10. Zmień rozmiar obrazu w WPF
- 11. Jak wypełnić część obrazu kolorem?
- 12. Jak wyciąć część obrazu w języku C#
- 13. Zapisywanie płótna WPF jako obrazu
- 14. Ponowne ładowanie obrazu w wpf
- 15. IO.Stream do obrazu w WPF
- 16. Wygładzanie krawędzi obrazu w WPF
- 17. android - Jak wyciąć część obrazu i pokazać go w widoku obrazu
- 18. Zasoby obrazu WPF
- 19. Powiększenie obrazu WPF
- 20. WPF obrazu/Event Rendering
- 21. Wiązanie polecenia obrazu WPF
- 22. Skopiuj określoną część obrazu bufora do innego bufora obrazu
- 23. Jak uzyskać część obrazu i użyć go jako osobnego obrazu?
- 24. WPF. Jak wyświetlić tylko część dużego płótna?
- 25. Pokaż nową część obrazu na podstawie przewijania
- 26. Rozmyć określoną część obrazu (prostokątny, okrągły)?
- 27. Jak usunąć czarną część z obrazu?
- 28. Jak zamazać część obrazu za pomocą JAVA
- 29. Wybór tylko środkowa część obrazu z CSS
- 30. Jak narysować część dużego obrazu BufferedImage?