Konvertieren von Bild-Python-Code in C#
Posted: 16 Jan 2025, 10:35
Ich versuche, den folgenden Python-Code nach C# zu portieren.
Die while()-Schleife, in der 0 an das Byte angehängt wird, img.putpixel und das Anhängen von ord( Zeichen)) ist, wo ich etwas verwirrt bin.
Code: Select all
import Image, base64, StringIO
def pngstore(input):
input = open(input, "r").read()
pixels = len(input) / 3
img = Image.new("RGB", (pixels, 1), (0,0,0))
bytes = []
for character in input:
bytes.append(ord(character))
while len(bytes) % 3 > 0:
bytes.append(0)
for x in range(0, pixels):
img.putpixel((x, 0), (bytes[x*3], bytes[x*3 + 1], bytes[x*3 + 2]))
output = StringIO.StringIO()
img.save(output, format="PNG")
output.seek(0)
return base64.b64encode(output.read())
Code: Select all
FileInfo file = new FileInfo(FD.FileName);
long pixels = file.Length / 3;
byte[] bytes = File.ReadAllBytes(file.FullName);
Bitmap image = new Bitmap(Image.FromFile(fileToOpen));
while (bytes.Length % 3 > 0)
{
bytes.CopyTo(?); // ?
}
foreach (var x in Enumerable.Range(0, (int)pixels))
{
//Color color = Color.FromArgb(, 0, 0, 0);
//image.SetPixel(x, 0, color);
}
image.Save("newfile.png", ImageFormat.Png);