Programmieren – die besten Beiträge

C# Bilder zu sehr großen PNGs zusammenfügen?

Ich habe Tiles von Karten und möchte diese zu einem einzelnen Bild zusammenfügen. Jedes Tile hat eine Auflösung von 256 x 256 Pixeln. Es soll ein PNG sein. Dazu habe ich Bitmaps genutzt, diese stoßen aber nun an ihre Grenzen. Bis zu einer gewissen Auflösung funktioniert das einwandfrei. Das ist der Code:

Bitmap merged = new Bitmap(width, height);

using (Graphics graphics = Graphics.FromImage(merged))
{
    for (int x = 0; x < this.Bounds[1] - this.Bounds[0] + 1; x++)
    {
        for (int y = 0; y < this.Bounds[3] - this.Bounds[2] + 1; y++)
        {
            Image image = Image.FromFile(string.Format("{0}{1}-{2}.png", tilePath, x, y));

            graphics.DrawImage(image, x * 256, y * 256);

            image.Dispose();
        }
    }

    merged.Save(string.Format("{0}\\map.png-merging", outputPath), System.Drawing.Imaging.ImageFormat.Png);
}

File.Move(string.Format("{0}\\map.png-merging", outputPath), string.Format("{0}\\map.png", outputPath));

Es geht bis zur Auflösung 10, bei der es 58 x 56 Tiles, also 14.848 x 14.336 Pixel gibt.

Danach sind es 97 x 110 Tiles, also 24.832 x 28.160 Pixel. Hier kommt es zu einem Fehler. Bei

Bitmap merged = new Bitmap(width, height);

gibt es eine ArgumentException. Ich habe gelesen, dass das Limit für Bitmaps gibt, das ich hier anscheinend überschreibe.

Wie kann ich die Tiles am besten zu einer sehr großen PNG zusammenfügen, außer damit, die PNG mit einem FileStream Byte für Byte selbst zu erstellen?

Bilder, programmieren, Grafik, C Sharp, Code, Programmiersprache, Visual Studio, Bitmap

Welche Umstiegsmöglichkeiten hat man, wenn man sowas studiert?

Wenn man den Bachelorstudiengang „Foundations in Data Science“ an der TU Chemnitz absolviert, aber anschließend keine klassische Stelle im Bereich Data Science findet – bieten sich dann auch berufliche Perspektiven in angrenzenden Bereichen wie Data Analysis, Controlling oder Finanzen an?

Module

  • 220000‑701 Mathematics for Science and Engineering I (10 ECTS)
  • 220000‑702 Mathematics for Science and Engineering II (10 ECTS)
  • 220000‑703 Mathematics for Science and Engineering III (10 ECTS)
  • 220000‑704 Mathematics for Science and Engineering IV (10 ECTS)
  • 220000‑140 Mathematical Training I (5 ECTS)
  • 220000‑141 Mathematical Training II (5 ECTS)
  • 220000‑142 Computational Machine Learning (5 ECTS)
  • 220000‑110 Scientific Programming (5 ECTS)
  • 220000‑120 Mathematical Modelling in Economics (10 ECTS)
  • 220000‑705 Applied Optimization (5 ECTS)
  • 220000‑113 Numerical Methods (10 ECTS)
  • 220000‑143 Statistical Modeling (5 ECTS)
  • 243033‑015 Digital Systems (5 ECTS)
  • 243031‑010 Microprocessor Technology (5 ECTS)
  • 2. Spezialisierungs-Module (Specialisation / Electives) – wähle 30 ECTS
  • 220000‑151 Proseminar Mathematics (5 ECTS, verpflichtend)
  • Wähle weitere Pflicht‑Wahl‑Module für insgesamt 30 ECTS:
  • 220000‑106 Measurement and Integration Theory (10 ECTS)
  • 220000‑107 Vector Analysis and Ordinary Differential Equations (10 ECTS)
  • 220000‑112 Fundamentals of Optimization (10 ECTS)
  • 220000‑114 Probability Theory (10 ECTS)
  • 220000‑115 Algebra (10 ECTS)
  • 220000‑116 Introduction to Discrete Mathematics (10 ECTS)
  • 220000‑117 Function Theory (10 ECTS)
  • 220000‑118 Mathematical Statistics (10 ECTS)
  • Forschungsmodule Mathematics

Data Science (Allgemeines Modul)

Computerorientierte Mathematik

Einführung in Data Science

Beruf, Software, Finanzen, Studium, Technik, Wirtschaft, programmieren, Ausbildung, Karriere, Informatik, Softwareentwicklung, Universität, Data Science

Meistgelesene Beiträge zum Thema Programmieren