Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Grafiken verschmelzen und unterteilen
kremerf
myCSharp.de - Member



Dabei seit:
Beiträge: 2
Herkunft: München

Themenstarter:

Grafiken verschmelzen und unterteilen

beantworten | zitieren | melden

Hallo,

ich bin neu hier und ehrlich gesagt, verwirrt mich der Aufbau hier. Falls hier also nicht alles richtig gepostet ist, bitte ich darum, mir das nachzusehen.

Zu meiner Frage:
Ich benötige Grafiken für eine Applikation, die alle eine feste Größe und Breite haben müssen. Trotzdem soll der Benutzer die Möglichkeit haben, ein beliebiges Bild als Vorlage hochzuladen.

Beispiel:
Meine Anwendung erwartet eine Grafik, die 500 Pixels hoch ist und 500 Pixels breit. Dafür halte ich eine entsprechende Grafik als "Rahmen" bereit, beispielsweise eine blaues, gefülltes Quadrat.
Der Benutzer lädt jetzt beispielsweise eine Grafik hoch, die andere Abmessungen hat. Diese soll nun mittig auf dem "Rahmen" platziert werden und das so entstandene Gesamtbild als neue Grafik gespeichert werden.
Wie realisiert man das ?

Was Grafik angeht, habe ich kaum Kenntnisse.

Nachdem die Grafik dann entsprechend vorbereitet wurde, soll sie in quadratische Teile unterteilt und abgespeichert werden.
Im Beispiel wird ein 5x5-Raster über das Bild gelegt, wodurch dann also 25 Quadrate entstehen, von denen jedes 100 Pixels hoch und 100 Pixels breit ist.
Wie mache ich das ?

Vielen Dank im Voraus,

Gruß aus München,
Frank Kremer
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5.655
Herkunft: Leipzig

beantworten | zitieren | melden

Falls du mit Windows Forms entwickelst: [Tutorial] Zeichnen in Windows-Forms-Programmen (Paint/OnPaint, PictureBox)
So kannst du auch Bitmaps erstellen und darauf andere Bilder platzieren und skalieren.

Falls du eine Web- oder andere Anwendung hast, mußt du deine Frage mal aktualisieren.
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4.359

beantworten | zitieren | melden

Hallo und willkommen,

das geht alles mit der Graphics-Klasse (s.a. Grafik und Zeichnen in Windows Forms:


var image = Image.FromFile(pathToTemplateFile); // "Rahmen"
var imageInner = Image.FromFile(pathToUserFile); // Benutzer-Bild
var g = Graphics.FromImage(image);
Rectangle r = new Rectangle(10, 10, 480, 480); // Beispielwerte für den inneren Bereich
g.DrawImage(imageInner, r, 0, 0, imageInner.Width, imageInner.Height, GraphicsUnit.Pixel); // Benutzer-Bild in inneren Bereich skaliert zeichnen

image.Save(pathToNewFile);

Edit: Um umgekehrt kannst du auch jeweils Teile des Gesamtbildes auf ein anderes Image (bzw. Bitmap) zeichnen und dann als separate Datei(en) abspeichern (du mußt nur das Rectangle passend setzen).

Edit: Wofür brauchst du überhaupt die 25 Einzelbilddateien? Kannst du diese nicht dynamisch aus dem Gesamtbild anzeigen?
Dieser Beitrag wurde 5 mal editiert, zum letzten Mal von Th69 am .
private Nachricht | Beiträge des Benutzers
kremerf
myCSharp.de - Member



Dabei seit:
Beiträge: 2
Herkunft: München

Themenstarter:

Danke

beantworten | zitieren | melden

Hallo und vielen Dank für die schnelle Hilfe!
Ich dachte mir schon, dass es nicht so schwer sein kann, aber das es so einfach ist, hat mich dann doch wieder positiv überrascht.
Die Community hier scheint die richtige Wahl gewesen zu sein!

Danke und Gruß aus München,
Frank
private Nachricht | Beiträge des Benutzers