Chúng tôi có một hình ảnh nơi chúng tôi tạo tọa độ hộp xem là các điểm trên/dưới bên phải trong hình ảnh được thiết lập để cho phép xem các phần của hình ảnh vào các thời điểm khác nhau trong ứng dụng của chúng tôi. Trong WPF, làm thế nào để chúng tôi tải một hình ảnh, và với các điểm toppft/bottom bên phải trong hình ảnh đó, chỉ hiển thị phần của hình ảnh trong hộp xem đó?Trong WPF, xem một phần của hình ảnh
11
A
Trả lời
14
Bạn có thể làm điều này với một CroppedBitmap:
<Image>
<Image.Source>
<CroppedBitmap Source="<path to source image>" SourceRect="20,20,50,50"/>
</Image.Source>
</Image>
này sẽ hiển thị khu vực 50x50 của hình ảnh bắt đầu từ vị trí (20,20)
0
Dường như với tôi rằng bạn có thể làm cho hình ảnh kiểm soát một phần của hộp xem như được hiển thị bên dưới:
<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>
Điều này sẽ cung cấp cho bạn hộp xem 50x50. rõ ràng bạn có thể thay đổi chiều cao và chiều rộng cho phù hợp với nhu cầu của bạn. Tôi sử dụng một scrollviewer để xoay quanh khung nhìn nhỏ hơn.
1
Sử dụng một RenderTransform với Clip hoạt động tốt hơn, bởi vì CroppedBitmap là kinda bất biến:
<Image x:Name="MyImage">
<Image.RenderTransform>
<TranslateTransform X="-100" Y="-100" />
</Image.RenderTransform>
<Image.Clip>
<RectangleGeometry Rect="0 0 250 250" />
</Image.Clip>
</Image>
này sẽ hiển thị hình ảnh ở bù đắp (100, 100) với kích thước (150, 150), vì vậy đừng quên rect phải bao gồm các startoffsets.
Đây là phương pháp để tính toán mã:
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)
};
}
Các vấn đề liên quan
- 1. Xem một phần của chế độ xem bản đồ dưới dạng hình ảnh trong iOS
- 2. chọn một phần của hình ảnh (cắt)
- 3. Kéo một hình ảnh trong WPF
- 4. Cách ẩn một phần của hình ảnh?
- 5. cắt một phần của hình ảnh từ một hình ảnh hiện có trong java
- 6. Lặp lại một phần của hình ảnh trong CSS
- 7. iOS Ảnh chụp màn hình một phần của màn hình
- 8. 'Graying Out' một hình ảnh nút WPF?
- 9. Phóng to hình ảnh WPF
- 10. Thêm một hình ảnh trong một nút WPF
- 11. Hiển thị hình ảnh trong TextBlock (WPF)
- 12. WPF Hình ảnh/Rendering Event
- 13. Tiết kiệm một khung WPF như một hình ảnh
- 14. thêm hình ảnh vào nhãn trong wpf?
- 15. Cách lấy kích thước được chia tỷ lệ của phần tử Hình ảnh WPF
- 16. ios Giải mã một phần của hình ảnh
- 17. lấy một phần của hình ảnh bằng JavaScript
- 18. Kết hợp các hình ảnh png vào một hình ảnh trong WPF
- 19. sao chép một phần của hình ảnh bằng openCv C++
- 20. tạo UIImageView với một phần của tệp hình ảnh
- 21. Điền một phần của hình ảnh với màu
- 22. Định tâm một hình ảnh trong một phần tử neo
- 23. android: cách căn chỉnh hình ảnh ở trung tâm ngang của một lần xem hình ảnh?
- 24. Xem hình ảnh hoặc hình ảnh bên trong Jquery DataTable
- 25. Thư viện hình ảnh WPF
- 26. cách lấy con của một phần tử WPF
- 27. Nguồn điều khiển hình ảnh WPF
- 28. Làm thế nào để hiển thị một phần hình ảnh trên màn hình ở phần cuối của hình động
- 29. Cách thích hợp để buộc tải một hình ảnh WPF
- 30. Hình ảnh WPF, thay đổi màu của pixel