Esiste un modo semplice e funzionale per ingrandire un'immagine in una casella immagine, incluse le barre di scorrimento?C#: modo semplice e funzionale per ingrandire le immagini delle immagini con le barre di scorrimento
Al momento, utilizzo una casella di immagine in un pannello con scorrimento automatico attivato. Per ingrandire, ingrandisco la casella immagine e la sposto con le barre di scorrimento sul pannello. Il problema è che si comporta in modo strano. Ad esempio: se si esegue lo zoom in avanti, il margine tra il bordo del modulo superiore e sinistro e l'immagine diventa sempre più grande.
Questo è il metodo di zoom. L'ho preso da here.
private void ZoomInOut(bool zoom)
{
//Zoom ratio by which the images will be zoomed by default
int zoomRatio = 10;
//Set the zoomed width and height
int widthZoom = pictureBox_viewer.Width * zoomRatio/100;
int heightZoom = pictureBox_viewer.Height * zoomRatio/100;
//zoom = true --> zoom in
//zoom = false --> zoom out
if (!zoom)
{
widthZoom *= -1;
heightZoom *= -1;
}
//Add the width and height to the picture box dimensions
pictureBox_viewer.Width += widthZoom;
pictureBox_viewer.Height += heightZoom;
}
Qualsiasi aiuto è apprezzato.
Grazie in anticipo.
Marco
EDIT: Due screenshot di un'immagine di una zoomata (16 volte) senza zoom e. Prestare attenzione al margine tra il bordo superiore dell'immagine e il bordo superiore del modulo.
Risposta semplice: No! L'attuale modalità di utilizzo è la scelta migliore. Non capisco davvero quale sia il problema che hai descritto nella tua domanda. Penso che una schermata dovrebbe essere buona in questo caso. –
@KingKing Ho aggiunto due screenshot. –
È molto strano, a meno che non ci sia del codice che modifica "Top" e "Sinistra" del tuo "PictureBox". Dovresti controllare tu stesso l'intero codice per postarlo qui. –