OpenFileDialog
컨트롤을 통해 사용자가 제출 한 Silverlight 3의 이미지의 크기를 조정하려고합니다. 파일 내용을 잡고 WriteableBitmap
개체에 넣은 다음 화면에 정확히 Image
컨트롤에 표시 할 수 있습니다. Image
컨트롤은 나를 위해 이미지 컨트롤의 크기에 맞게 크기를 조정합니다.Silverlight 3의 업로드 된 이미지 크기 조정
문제는 메모리 이미지가 원래 전체 해상도 이미지이므로, 픽셀 단위로 수행해야하는 값 비싼 작업이 많기 때문에 메모리 크기를 조정해야합니다. 지금까지 나는
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
btnUploadPhoto.Click += new RoutedEventHandler(UploadPhoto_Click);
}
private void UploadPhoto_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "Image files (*.png;*.jpg;*.gif;*.bmp)|*.png;*.jpg;*.gif;*.bmp";
if (dialog.ShowDialog() == true)
{
WriteableBitmap bitmap = new WriteableBitmap(500, 500);
bitmap.SetSource(dialog.File.OpenRead());
imgMainImage.Source = bitmap;
txtMessage.Text = "Image size: " + bitmap.PixelWidth + " x " + bitmap.PixelHeight;
}
}
}
문제는 WriteableBitmap 클래스는 그 위에 크기 조정 방법이없는, 그리고 생성자의 높이와 너비를 설정하면 어떤 영향을 미칠 것 같지 않습니다 ... 다음과 같은 코드가 있습니다.
감사합니다. 이미지 리사이징/조작 기능이 .ResizeBitmap (int widget, int height) 형식의 상자에 기본적으로 포함되어 있지 않은 이유는 나를 놀라게합니다. 메서드가 WritableBitmap 클래스에 추가되었습니다. 상당히 일반적인 요구 사항처럼 보입니다. –