i WPF Energie verwendet das Bild horizontal zu drehen, hoffen, dass diese Hilfe
<Image Name="image" Stretch="Fill" RenderTransformOrigin="0.5,0.5">
<Image.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="1" ScaleX="-1"/>
<SkewTransform AngleY="0" AngleX="0"/>
<RotateTransform Angle="0"/>
<TranslateTransform/>
</TransformGroup>
</Image.RenderTransform>
</Image>
public Window2()
{
InitializeComponent();
var open = new OpenFileDialog();
open.ShowDialog();
var localImage = new Bitmap(open.FileName);
var stream = new MemoryStream();
localImage.Save(stream, ImageFormat.Png);
var byteArray = ImageToByteArray(localImage);
var imageAgain = ByteArrayToImage(byteArray);
var imageSource = new BitmapImage();
imageSource.BeginInit();
var ms = new MemoryStream();
imageAgain.Save(ms, ImageFormat.Bmp);
ms.Seek(0, SeekOrigin.Begin);
imageSource.StreamSource = ms;
imageSource.EndInit();
image.Source = imageSource;
}
public byte[] ImageToByteArray(System.Drawing.Image imageIn)
{
var memoryStream = new MemoryStream();
imageIn.Save(memoryStream, ImageFormat.Gif);
return memoryStream.ToArray();
}
public System.Drawing.Image ByteArrayToImage(byte[] byteArrayIn)
{
return System.Drawing.Image.FromStream(new MemoryStream(byteArrayIn));
}
Es hängt vom Dateiformat (Codierung) des Bildes. Ist es ein JPEG? eine Bitmap? ein gif? Ein Byte-Array ist nur ein Container, es sagt nichts über die Codierung des Bildes aus. – Heinzi
Ich habe 16-Bit Graustufen-Rohbild, das ich umdrehen möchte ... – cooldj
Der Begriff ["rohe Bild"] (http://en.wikipedia.org/wiki/Raw_image_format) ist mehrdeutig. Was ist das * genaue * Bildformat? Wie sieht sein Header aus? – Heinzi