Porady: tworzenie obrazów miniatur
Obraz miniatury jest małą wersją obrazu. Obraz miniatury można utworzyć, wywołując GetThumbnailImage metodę Image obiektu.
Przykład
Poniższy przykład konstruuje Image obiekt z pliku JPG. Oryginalny obraz ma szerokość 640 pikseli i wysokość 479 pikseli. Kod tworzy obraz miniatury o szerokości 100 pikseli i wysokości 100 pikseli.
Na poniższej ilustracji przedstawiono obraz miniatury:
Uwaga
W tym przykładzie zadeklarowana jest metoda wywołania zwrotnego, ale nigdy nie jest używana. Obsługuje to wszystkie wersje interfejsu GDI+.
public bool ThumbnailCallback()
{
return true;
}
private void GetThumbnail(PaintEventArgs e)
{
Image.GetThumbnailImageAbort callback =
new Image.GetThumbnailImageAbort(ThumbnailCallback);
Image image = new Bitmap(@"c:\FakePhoto.jpg");
Image pThumbnail = image.GetThumbnailImage(100, 100, callback, new
IntPtr());
e.Graphics.DrawImage(
pThumbnail,
10,
10,
pThumbnail.Width,
pThumbnail.Height);
}
Public Function ThumbnailCallback() As Boolean
Return True
End Function
Private Sub GetThumbnail(ByVal e As PaintEventArgs)
Dim callback As New Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)
Dim image As Image = New Bitmap("c:\FakePhoto.jpg")
Dim pThumbnail As Image = image.GetThumbnailImage(100, 100, callback, New IntPtr())
e.Graphics.DrawImage(pThumbnail, 10, 10, pThumbnail.Width, pThumbnail.Height)
End Sub
Kompilowanie kodu
Powyższy przykład jest przeznaczony do użycia z formularzami Windows Forms i wymaga PaintEventArgs e
parametru , który jest parametrem Paint programu obsługi zdarzeń. Aby uruchomić przykład, wykonaj następujące kroki:
Utwórz nową aplikację Windows Forms.
Dodaj przykładowy kod do formularza.
Tworzenie procedury obsługi dla zdarzenia formularza Paint
W procedurze obsługi wywołaj Paint metodę i przekaż
e
metodęGetThumbnail
.PaintEventArgsZnajdź plik obrazu, dla którego chcesz utworzyć miniaturę.
W metodzie
GetThumbnail
określ ścieżkę i nazwę pliku do obrazu.Naciśnij F5, aby uruchomić przykład.
Na formularzu zostanie wyświetlony obraz miniatury o rozmiarze od 100 do 100.
Zobacz też
.NET Desktop feedback