Sto provando a ruotare una bitmap di 90 gradi utilizzando la seguente funzione. Il problema è che taglia parte di un'immagine quando l'altezza e la larghezza non sono uguali.C# ruota la bitmap di 90 gradi
Avviso del returnBitmap width = original.height ed è height = original.width
Qualcuno può aiutarmi a risolvere questo problema o sottolineare quello che sto facendo male?
private Bitmap rotateImage90(Bitmap b)
{
Bitmap returnBitmap = new Bitmap(b.Height, b.Width);
Graphics g = Graphics.FromImage(returnBitmap);
g.TranslateTransform((float)b.Width/2, (float)b.Height/2);
g.RotateTransform(90);
g.TranslateTransform(-(float)b.Width/2, -(float)b.Height/2);
g.DrawImage(b, new Point(0, 0));
return returnBitmap;
}
bitmap sto rotante è solo per scopi di visualizzazione. Non l'ho mai salvato in un file – Kevin
non è necessario salvarlo; che "RotateFlip" farà il trucco. Puoi rimuovere quel 'using' e aggiungere un' return new Bitmap (img); ' –
Potresti voler ottenere del codice da qui per assicurarti che il jpeg sia salvato con un livello di qualità superiore rispetto al 50 http predefinito://stackoverflow.com/questions/1484759/quality-of-a-saved-jpg-in-c-sharp –