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
Farbe ändern
$4mu3l
myCSharp.de - Member

Avatar #avatar-1755.gif


Dabei seit:
Beiträge: 27

Themenstarter:

Farbe ändern

beantworten | zitieren | melden

Hi.
Blöde frage, aber ich möchte bei einer PictureBox den Background-Image ändern. Weiß jetz nich mit welchem befehl. hab einwehnig rumgestöbert und bin auf ToArgb() gestoßen. .... nützt das was? wie kann ich da ein rgb-wert eingeben?

danke im vorraus

Sam
Ich habe den Sachsen das Angeln beigebracht. Seitdem heißen sie Angelsachsen. Ich bin der König der Angler.
----------------------König Arthur, Ritter der Kokosnuss----------------------
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo $4mu3l,

PictureBox => Forum Windows-Forms

Zur Frage: Ich weiß nicht, was du mit BackgroundImage meinst? Die Aufgabe der PictureBox ist ja gerade ein Bild anzuzeigen - natürlich im Vordergrund: PictureBox.Image

herbivore
private Nachricht | Beiträge des Benutzers
$4mu3l
myCSharp.de - Member

Avatar #avatar-1755.gif


Dabei seit:
Beiträge: 27

Themenstarter:

beantworten | zitieren | melden

oh man bin ich blöd.... -.-
sorry, ich hab es falsch erklärt.

also ich habe da mehrere pictureboxes, die nur einen BackColor(!) besitzen. jedoch mache ich ein neues fenster(form) auf und jetzt soll die gewisse Farbe in der neuen PictureBox angezeigt werden. ich möchte s durch eine Switch anweisung

es gibt insgesammt 8 farben (für jede straßengruppe von MONOPOLY) und je nach Straßengruppe, wie z.b. Lila für die BadStraße, soll die farbe in der textbox erscheinen. ich find es etwas lästig für jede straße eine eigenes Bild zu Basteln, darum wollte ich es so ändern ^^

das ändern möchte ich wärend des Ausführen der .exe datei machen
Ich habe den Sachsen das Angeln beigebracht. Seitdem heißen sie Angelsachsen. Ich bin der König der Angler.
----------------------König Arthur, Ritter der Kokosnuss----------------------
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo $4mu3l,

dann würde ich Panel statt PictureBox nehmen. Aber ohnehin hat jedes Control (also auch TextBoxen) die BackColor Eigenschaft, die du zu jedem beliebigen Zeitpunkt ändern kannst.

herbivore
private Nachricht | Beiträge des Benutzers
$4mu3l
myCSharp.de - Member

Avatar #avatar-1755.gif


Dabei seit:
Beiträge: 27

Themenstarter:

beantworten | zitieren | melden

erstmal dank, dass du mir so tatkräftig hilfst ^^

warscheinlich haben alle diese funktion, doch ich wüßte nicht, wie ich diese aufrufen kann.

könntest du mir ein beispiel zeigen, da ich davon überhaupt kein durchblick hab und das steht auch leider nicht in meinem buch.
Ich habe den Sachsen das Angeln beigebracht. Seitdem heißen sie Angelsachsen. Ich bin der König der Angler.
----------------------König Arthur, Ritter der Kokosnuss----------------------
private Nachricht | Beiträge des Benutzers
Pulpapex
myCSharp.de - Member



Dabei seit:
Beiträge: 939
Herkunft: Rostock

beantworten | zitieren | melden

Meinst du das hier?

pictureBox.BackColor = Color.Magenta;
Das hat aber nur einen sichtbaren Effekt, wenn das Bild in der PictureBox nicht die gesamte Fläche ausfüllt. ForeColor bringt in so einem Fall auch nichts, die bezieht sich nur auf die Schriftfarbe.

Bleibt noch, die Farbe direkt im Image zu ändern. Dafür müsstest du dich mit der System.Drawing.Graphics-Klasse und dem System.Drawing.Imaging-Namespace auseinandersetzen.

Hier noch ein Weg kurz angedeutet, wie man in einem Bild eine Farbe durch eine andere ersetzen kann. Ich hoffe das Prinzip wird einigermaßen klar, wenn du es dir in der Msdn-Doku angesehen hast:
PictureBox.Image
-> Graphics.FromImage 
-> Graphics.DrawImage 
-> ImageAttributes.SetRemapTable 
-> ColorMap.OldColor/.NewColor
Gruss
Pulpapex
private Nachricht | Beiträge des Benutzers
hurricane
myCSharp.de - Member

Avatar #avatar-1740.jpg


Dabei seit:
Beiträge: 379
Herkunft: bei Berlin

beantworten | zitieren | melden

Du könntest entweder das Bild in der PictureBox ein paar Pixel kleiner machen als die eigentliche PictureBox und zentriert setzen und dabei halt eine BackColor angeben (Achtung, das Bild muss dann immer gleich groß sein!)

oder du erstellst dir z.B. ein UserControl in das du eine PictureBox legst, die halt ein parr Pixel kleiner ist als das Control. Als Eigenschaft gibst du dann die BackColor der Usercontrols, das Image-Attribut der PictureBox und was du halt noch so brauchst

Ich hoffe das war jetzt eingermaßen verständlich...

ciao Anke
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo $4mu3l,
Zitat
warscheinlich haben alle diese funktion, doch ich wüßte nicht, wie ich diese aufrufen kann.
für solche Fragen hilft ein Blick in die SDK-Doku. Ohne die kann man quasi nicht C#/.Net programmieren (jedenfalls ich nicht). Oft gibt es dort sogar auch Code-Beispiele.

herbivore
private Nachricht | Beiträge des Benutzers
$4mu3l
myCSharp.de - Member

Avatar #avatar-1755.gif


Dabei seit:
Beiträge: 27

Themenstarter:

beantworten | zitieren | melden

ersmal danke an alle
ich hab mir sowas wie dieses
pictureBox.BackColor = Color.Magenta;
gedacht. ^^
ist es möglich irgendwie da ein RGB wert statt ein synonym anzugeben?


und ist es irgendwie möglich auch ein gif bild mit transparenz zu zeigen? weil wenn ich BackColor auf Transparence mach, funktioniert es leider nich.

danke noch mal
Ich habe den Sachsen das Angeln beigebracht. Seitdem heißen sie Angelsachsen. Ich bin der König der Angler.
----------------------König Arthur, Ritter der Kokosnuss----------------------
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo $4mu3l,
Zitat
ist es möglich irgendwie da ein RGB wert statt ein synonym anzugeben?
ja, und um mich zu wiederholen: für solche Fragen hilft ein Blick in die SDK-Doku. Ohne die kann man quasi nicht C#/.Net programmieren (jedenfalls ich nicht). Oft gibt es dort sogar auch Code-Beispiele.

Für Transparenz einer PictureBox musst du BackColor auf Transparent setzen *und* das Bild in PictureBox.Image muss Transparenz aufweisen.

herbivore
private Nachricht | Beiträge des Benutzers