Ich versuche, den Bildschirm zu erfassen und dann den Screenshot als base64
Bild auszugeben, aber kann nicht zu einem brauchbaren base64
Bild aus meinem Code zu bekommen.C# unbrauchbar base64 beim Konvertieren von Bitmap
public static Bitmap bitmap;
public static string base64;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
CaptureScreen();
Graphics graphics = Graphics.FromImage(bitmap as Image);
graphics.CopyFromScreen(0, 0, 0, 0, bitmap.Size);
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.Image = bitmap;
richTextBox1.Text = base64;
}
public static string CaptureScreen()
{
bitmap = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
Bitmap bImage = bitmap;
System.IO.MemoryStream ms = new System.IO.MemoryStream();
bImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] byteImage = ms.ToArray();
base64 = Convert.ToBase64String(byteImage);
return base64;
}
ich this Ausgang beim Testen und es sollte diese oder in der Nähe zu this Bild anzuzeigen.
Sie kopieren 0 Breite und 0 Höhe...? –
du meinst auf graphics.CopyFromScreen (0, 0, 0, 0, bitmap.Size); Dies dient nur dazu, anzuzeigen, wie das Ergebnis aussehen soll. nur für die Entwicklung –
aber: Sie ordnen eine leere Bitmap zu, schreiben nichts und speichern es dann; Sie sollten ein schwarzes (oder weißes) Rechteck erwarten. Was siehst du? es sieht für mich wie ein schwarzes Rechteck aus ... –