Hi, ich probiere mich gerade erstmals an C#, eine alte Version 2010. Ich habe mir die VS2010ImageLibrary nachträglich entpackt und versuche nun damit klar zu kommen. Aber ich finde irgend wie kein Hilfe..... Bei MSN geht das irgend wann ins leere.... :-( Ich hab hier ein PNG das mehrere Bilder(Icons) enthält und weiß nicht wie ich an die einzelnen Bilder komme. Da mir die Größen-infos fehlen, kann ich nicht einfach cut 20, 20 machen!!!! Unter C++ hatte ich mal eine Vorlage, wo ich die Größen kannte, war kein Problem, auch eine Vorlage mit einem Rahmen um die einzelnen Pics, konnte ich in C++ verarbeiten(Rahmen Pixel suchen). Aber hier weiß ich einfach nicht weiter!?! (Fehlendes Wissen von C#!) Ich Hänge mal ein PNG an, vielleicht kann mir einer einen Hinweis geben. Link wäre Ok. :-)
Stephan schrieb: > Da mir die Größen-infos fehlen, > kann ich nicht einfach cut 20, 20 machen!!!! Fehlen dir die Koordinaten der Einzelbilder im gezeigten Bild oder verstehst du nicht, wie du mit C# einen Bildausschnitt kopierst? Mir ist dein Problem noch nicht ganz klar.
Den Bildausschnitt sollte ich hin bekommen. (hab da ein Beispiel gefunden) Aber die Koordinaten fehlen mir. Wie komme ich an diese?
Ahh noch was: An meine Installation sind scheinbar Sachen schief gelaufen, denn ich hab kein Namespace "System.Windows.Controls" wie kann man das reparieren? ich nutze ".NET Framework 4"!
"System.Windows.Shapes" habe ich auch nicht!!! Kann mir jemand erklären wie man die hilfe von "https://msdn.microsoft.com/de-de/library/" richtig benutzt???!!!!! Das ich das Framework 4 einstellen muß, weiß ich schon :-) (sonst kommt 4.5 oder 4.6) Aber trotz der Version 4, stehen dort Sachen die ich nicht nutzen kann. Ist die Version 2010 nicht mehr so gut für einen Anfänger? (wollte noch C++ in der Hinterhand haben, gibs bei den neueren Versionen nicht mehr!)
Sind alle Bilder so Multiple aufgebaut oder sind das zig verschiedene Verwürfelungen? Komischerweise sind die Bilder Oberkanten ungefähr 49-50px voneinander entfernt.. wenn Du von oben mit 49px anfängst landet jedes Bild in der Mitte.
Liegt das Problem ggf. etwas tiefer? Was willst du eigentlich mit den Bildern machen? Sind die für dein User Interface? Falls ja, machst du dir das leben unnötig schwer ;-) Ach ja: Nutzt du Winforms, WPF oder Silverlight?
Hallo @Philipp K. Also alles durch einander, leider. @Boris P. Wie gesagt, hab gestern mit ca. 12 Stunden mit C# angefangen. (bis 2.30 Uhr) Aber ich komme gar nicht auf einen grünen Zweig. Ich wollte paar Bilder(Icons) für meine Anwendung haben und fand das. (VS2010ImageLibrary) hab mir auch die VS2012ImageLibrary + VS2013ImageLibrary vom Windows-Download Server geholt, mal sehen was darin ist. War gestern schon zu spät. Wie gehts einfacher? Also ich benutze "Windows Forms Appl.", scheint ähnlich zum VC++ 6 von Borland zu sein. (darin war ich mal sehr gut) Was ist stand der Dinge? WPF? (Hier mein Test PC hat noch XP drauf! <- muß auch bleiben) Wegen den Bildern, kann ich hier auch die Pixel durchsuchen nach != TranparentColor oder so????
Aaaalso: Kannst ruhig WinForms nehmen, das ist erst mal einfacher als WPF. Aber mit solchen komischen Grafiken musst du dich nicht rumärgern ;-) Üblicherweise sind die UI Grafiken einfache, kleine PNGs, die direkt die richtige Größe haben. Da muss dann nichts mehr durchsucht/ausgeschnitten werden. In der VS2013 Image Library findest du davon reichlich (Beispiel siehe oben). Wenn dir der Grafikstil nicht gefällt, kannst du natürlich auch eine der älternen VS Image Libraries nehmen... Die kannst du einfach deinem Projekt als Resource hinzufügen. Im Designer kannst du diese dann nach Belieben verwenden (an Menüeinträgen, Buttons etc.).
:
Bearbeitet durch User
Stephan schrieb: > (wollte noch C++ in der Hinterhand haben, gibs bei den neueren Versionen > nicht mehr!) Das stimmt nicht.
Danke. So kannte ich das von Früher auch. Ein Set hatte ich damals für Enabled Icons und eins für Disabled Icons. Meistens hatten die 32x32 Pixel. Aber hat denn MSN nicht mit gedacht oder stelle ich mich einfach nur an. Die haben so viele Icons freigegeben(2013 > 290MB, 2010 ~16MB), aber geben kein Code zur Benutzung der Icons???? Hab mal schnell einen Blick in die Zusammenstellung von 2013 angesehen, das könnte besser aussehen. Wäre aber an der Lösung des oberen Problems weiter interessiert! Biiittttteeee :-X Danke.
@R. Rebentrost Aha was verpasst. Super. Sagst du mir auch wie es jetzt aussieht. Mir wart so als hätte ich das mal so gelesen......
Stephan schrieb: > Wäre aber an der Lösung des oberen Problems weiter interessiert! > Biiittttteeee :-X Welches Problem denn jetzt konkret? Stephan schrieb: > Ein Set hatte ich damals für Enabled Icons und eins für Disabled Icons. Das brauchst du übrigens nicht. Die disabled-Icons werde automatisch ausgegraut. Stephan schrieb: > Aber hat denn MSN nicht mit gedacht oder stelle ich mich einfach nur an. > Die haben so viele Icons freigegeben(2013 > 290MB, 2010 ~16MB), aber > geben kein Code zur Benutzung der Icons???? Du brauchst KEINEN Code zur Benutzung der Icons. Wie kommst du darauf? Ich habe ja oben geschrieben, wie es geht.
@Boris P. Bin noch ziemlich müde, einfach zu alt, um die Nacht durch zu machen. Boris P. schrieb: > Stephan schrieb: >> Ein Set hatte ich damals für Enabled Icons und eins für Disabled Icons. > > Das brauchst du übrigens nicht. Die disabled-Icons werde automatisch > ausgegraut. Super schon mal ein Problem weniger. Boris P. schrieb: > Stephan schrieb: >> Wäre aber an der Lösung des oberen Problems weiter interessiert! >> Biiittttteeee :-X > > Welches Problem denn jetzt konkret? Wie ich versucht hatte es oben zu beschreiben. Wie bekommt man die EINZELNEN ICONS aus dem SET???? Dazu muss es doch einen 3 Zeiler oder so geben: - Lade Icon-Set - Erkenne Transparente Farbe und echte Farbe - Kalkuliere die Größe der einzelnen Icons - Erstelle eine ImageList und befülle diese mit den AUSGESCHNITTEN ICONS - Have FUN Ok, bin Anfänger -> sind 5 Zeile geworden. Du hast mir eine Alternative genannt, die ich jetzt auch Nutze. Danke. Nicht die Lösung zu meiner Frage. Das Einzel-Icon benutze ich jetzt.(Anhang von: 'Visual Studio 2013 Image Library\2010_VS Icon Legacy\Icons - VS2010')
Stephan schrieb: >> wollte noch C++ in der Hinterhand haben, gibs bei den neueren >> Versionen nicht mehr! > Mir wart so als hätte ich das mal so gelesen...... Zur Debatte stand mal, ob es weiterhin Visual Studio kostenlos zur Erstellung von Desktopanwendungen geben soll. War aber nur ein Hirnfurz, hat sich erledigt und ist, nachdem sich Mr. Steve "Monkey boy" Ballmer abgeseilt hat, mit der Community-Edition quasi ins Gegenteil gekippt: Die Features der Pro-Version gibt es nun für die meisten Anwender umsonst. > Also ich benutze "Windows Forms Appl.", scheint ähnlich zum VC++ 6 von > Borland zu sein. (darin war ich mal sehr gut) VC++ von Borland? Wäre mir neu ... BTW: Ich würde dir nicht empfehlen, nun C++ zu verwenden, nur weil es geht. Nicht wegen der Sprache, sondern weil du ein Winodws-GUI mit C# (und Windows Forms oder WPF) einfacher zusammenbekommst. Mit C++ müsstest du MFC, ATL, Qt, wxWidgets, Win32++ o.ä. verwenden oder eben den C-Weg gehen. C++/CLI möchte ich als Option mal weglassen.
Für die Leute die es interessiert hier der Link zu den Visual Studio Image Librarys von MS. https://www.microsoft.com/en-us/download/details.aspx?id=35825
Stephan schrieb: > Wie ich versucht hatte es oben zu beschreiben. > Wie bekommt man die EINZELNEN ICONS aus dem SET???? Das ist kein Icon-Set, sondern ein Preview der Icons zur Einbettung in eine Webseite oder so. Wenn man stattdessen das echte Icon benutzt, ist das sicher deutlich einfacher. Dann muß man sich auch keine Heuristik ausdenken, um das zu tun: Stephan schrieb: > - Erkenne Transparente Farbe und echte Farbe > - Kalkuliere die Größe der einzelnen Icons
@R. Rebentrost Danke für die Info. R. Rebentrost schrieb: > VC++ von Borland? Wäre mir neu ... neeee alt! :-D C++Builder 6 von Borland. War auch schon mit zusammen Klicken einer App. (Visual Component Library (VCL) )
Rolf Magnus schrieb: > Dann muß man sich auch keine Heuristik > ausdenken Normalerweise arbeitet man mit dem Graphiker zusammen oder gibt den Aufbau der Sets selber vor. Das Ausdenken kam von mir, da MS es nicht geschafft hat, ein vernünftiges Beispiel zu liefern. Die werden Ihre Regeln zur Erstellung solcher Sets schon haben. Aber echt mal hat noch nie einer mit diesen Sets gearbeitet??? Diese Art der Anordnung von Graphiken ist doch nicht neu, mir fallen 10 Spiele auf Anhieb ein die das System Benutzen. Eins ist zum Beispiel Freeciv: Hier werden die Gebäude, Einheiten und andere Sachen so aufbereitet. Die Leute werden sich aber unter einander, bestimmt verständigt haben und den Aufbau Ihrer Graphiken kennen. Ich hänge mal eins an(Admin: wenn nicht gewünscht bitte löschen, müsste aber Ok sein)! hier sind die einzelnen Bilder durch einen Rahmen getrennt, da kann man einfach die Größe ermitteln.
Stephan schrieb: > "System.Windows.Shapes" habe ich auch nicht!!! System.Windows.Controls und ...Shapes gehören zum WPF, wenn die Anwendung auf WinForms basiert, sind die normalerweise nicht referenziert. Wenn's sein muss, könnten WPF-Sachen allerdings eingebunden werden: https://msdn.microsoft.com/de-de/library/ms742215%28v=vs.110%29.aspx > Ist die Version 2010 nicht mehr so gut für einen Anfänger? > (wollte noch C++ in der Hinterhand haben, gibs bei den neueren Versionen > nicht mehr!) Die erwähnte Community-Edition nehmen https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx ansonsten ginge C++ auch mit Express-Editionen, allerdings ohne MFC etc. Stephan schrieb: > Das Ausdenken kam von mir, da MS es nicht geschafft hat, ein > vernünftiges Beispiel zu liefern. Die werden Ihre Regeln zur Erstellung > solcher Sets schon haben. Wo ist das Problem? Die Standard-Icons sind jeweils in den ICO-Unterordnern und können, ebenso wie die ganzen PNGs, direkt in einem Programm verwendet werden. https://msdn.microsoft.com/en-us/library/7k989cfy%28v=vs.90%29.aspx
Arc Net schrieb: > System.Windows.Controls und ...Shapes gehören zum WPF, wenn die > Anwendung auf WinForms basiert, sind die normalerweise nicht > referenziert. Danke. Wieder was gelernt. Doch wo finde ich solch WICHTIGE Info. Bevor ich die Icons verwenden konnte wollte ich einen Kreis als Bild-Ersatz malen und da wurde mir Ellipse aus "Shapes" vorgeschlagen. Hatte mich schon gefreut das es so einfach gehen sollte. Aber es kommt anders als man denkt. :-( Kann ich in der Doku das irgendwie erkennen was zu WinForms gehört und was nicht? Arc Net schrieb: > Wenn's sein muss, könnten WPF-Sachen allerdings eingebunden werden: nein Danke, nicht noch komplizierte als es schon ist. Arc Net schrieb: > Wo ist das Problem? Ich kann schon Bilder in das Projekt legen(embeded rec.) und laden. Ich kann Sachen ausschneiden und weiter verarbeiten. Nur ein normales Problem. ABER was ich NICHT kann, ist mir die EINZEL BILDER aus dem GANZEN zu kopieren, ohne ein PIXEL Zähl-Orgie anzustellen. so wie auch Philipp K. schrieb: > Komischerweise sind die Bilder Oberkanten ungefähr 49-50px voneinander > entfernt.. wenn Du von oben mit 49px anfängst landet jedes Bild in der > Mitte.
Danke nochmal an alle die mir geholfen haben. DANKE Aber zurück zum Thema: IST ES MÖGLICH, mit C# Boardmitteln, EINZEL-BILDER aus einer 'BILDER-SAMMMLUNG' aus zuschneiden, dessen GRÖßE ich NICHT kenne ???? Die EINZEL-BILDER sind mit einer 'TRANSPARENT'-Farbe von einander getrennt! (siehe Anhang 1. Post) Wenn ich der Erste bin der das versucht, ok, ich will es nur wissen. ICH will hier keinen Programmierwettbewerb oder einen Blumentopf gewinnen. Ich habe mit der 'VS2013 Image Library' und der Hilfe von Boris eine Alternative gefunden und kann mit dem Misserfolg auf mein Frage leben. Eine Antwort hätte ich gerne. mfg Stephan
Stephan schrieb: > Kann ich in der Doku das irgendwie erkennen was zu WinForms gehört und > was nicht? Klar. Auf irgendeinen Typnamen klicken, z.B. hier AccessText, Button oder sonst etwas: https://msdn.microsoft.com/de-de/library/system.windows.controls%28v=vs.100%29.aspx PresentationFramework -> WPF System.Windows.Forms -> Windows Forms https://msdn.microsoft.com/de-de/library/system.windows.forms%28v=vs.100%29.aspx > Aber zurück zum Thema: > IST ES MÖGLICH, mit C# Boardmitteln, EINZEL-BILDER aus einer > 'BILDER-SAMMMLUNG' aus zuschneiden, dessen GRÖßE ich NICHT kenne ???? > Die EINZEL-BILDER sind mit einer 'TRANSPARENT'-Farbe von einander > getrennt! Eine fertige Methode, die selbstständig Icons in einem "Icon-Atlas" erkennt, gibt es im .NET-Framework nicht. Bei komplexen Icons, die aus mehreren voneinander getrennten Teilbereichen bestehen und relativ nah zusammen stehen, ist das nicht ganz trivial (in manchen Fällen sogar unmöglich). Das wäre auch etwas zu viel verlangt und gehört nicht per se in eine allgemeine UI-Bibliothek. > IST ES MÖGLICH, mit C# Boardmitteln, EINZEL-BILDER aus einer > 'BILDER-SAMMMLUNG' aus zuschneiden, dessen GRÖßE ich NICHT kenne ???? Bei deinem Original-Beispielbild: Sicher, du musst bloß die Pixel auslesen und die Abstände analysieren. http://csharpexamples.com/fast-image-processing-c/ Vielleicht würde es auch helfen, die Gemeinsamkeiten herauszufinden (Abstände von Icon-Mitte zu Icon-Mitte etc.) und dann, falls sinnvoll, die entsprechenden Werte für alle "Multi-Icon-PNGs" zu benutzen. Die Größen und Abstände werden ja nicht von Datei zu Datei unterschiedlich und zufällig sein? > Diese Art der Anordnung von Graphiken ist doch nicht neu, mir fallen 10 > Spiele auf Anhieb ein die das System Benutzen. Das stimmt, sehr viele Spiele verwenden Textur-Atlanten zum Zweck der Organisation und nicht zuletzt auch der Effizienz (die Dinger werden komplett in den Grafikspeicher geladen). http://www.gamasutra.com/features/20060126/figure1.jpg?iact=rc&uact=3&dur=68&page=1&start=0&ndsp=32&ved=0CCEQrQMwAGoVChMInbnlnvyRxgIVQhAsCh186w0Z http://payload198.cargocollective.com/1/8/282980/6261889/texture_desertTown.jpg Aber darin sind die Größen der Teilbilder entweder identisch oder es gibt jeweils eine kleine Datei dazu, in der die Positionen und Größen der Teilbilder/Texturen stehen (diese "Sidecar-Dateien" werden von den entsprechenden Tools gleich mit erzeugt).
Nachtrag: R. Rebentrost schrieb: > Bei deinem Original-Beispielbild: Sicher, du musst bloß die Pixel > auslesen und die Abstände analysieren. Oder einfach bei einer leeren Zeile (Zeile komplett mit A = 0) davon ausgehen, dass das Ende des jeweiligen Icons erreicht ist. Das funktioniert aber nur bei Icons ohne "vertikale Lücken"; darum der Vorschlag mit den Abständen.
Stephan schrieb: > Danke nochmal an alle die mir geholfen haben. > *DANKE* > > > Aber zurück zum Thema: > IST ES MÖGLICH, mit C# Boardmitteln, EINZEL-BILDER aus einer > 'BILDER-SAMMMLUNG' aus zuschneiden, dessen GRÖßE ich NICHT kenne ???? > Die EINZEL-BILDER sind mit einer 'TRANSPARENT'-Farbe von einander > getrennt! > (siehe Anhang 1. Post) Wozu? Das sind normale Icons. Beispiel: Auf einer Form einen ToolStrip hinzufügen, zum Testen mal rechtsklicken und Insert Standard Items machen, dann einen neuen Button hinzufügen. Dann Properties -> Image anklicken -> Local Resource -> Import -> jetzt, da es nicht direkt angeboten wird, als Dateifilter *.* und ein beliebiges .ico öffnen. ImageScalingSize des ToolStrips auf 32x32 und zum Update einmal AutoSize auf false und dann wieder auf true setzen. Ergebnis: Die Standard-Bilder skalieren nicht mit, die .ico-Icons aus der Sammlung dagegen schon. Anderes Beispiel: Icon ist in den Resourcen des Programs: Dann in einer Methode z.B. Icon testIcon = new Icon(Properties.Resources.DerVergebeneName, 64, 64); https://msdn.microsoft.com/de-de/library/System.Drawing.Icon.Icon(v=vs.110).aspx https://msdn.microsoft.com/de-de/library/system.drawing.icon_methods(v=vs.110).aspx dort z.B. ToBitmap und die Bitmap-Save-Methoden sollten das Icon in der passenden Größe extrahieren. Ansonsten ist Win32-Api angesagt: https://msdn.microsoft.com/en-us/library/ms648050%28VS.85%29.aspx https://msdn.microsoft.com/en-us/library/ms648069%28v=vs.85%29.aspx
1) png als Bitmap öffnen (z.B. per Bitmap.FromFile("tileset.png")) 2) mit Schleifen über Bitmap.GetPixel() drüber gehen und die Ränder suchen 3) Gefundene Teilbilder ('Tile') per Graphics.DrawImage() in neu erzeugte Bitmaps passender Größe kopieren >dessen GRÖßE ich NICHT kenne ...ist allerdings eher unüblich. Speziell bei Spielen speichert man sich die Abmessungen/Aufbau der Tilesets eigentlich irgendwie mit oder sie sind generell fix. Man erzeugt aus dem Tileset dann auch keine einzelnen Bitmaps, sondern zeichnet direkt den entsprechenden Tile aus dem Tileset an die gewünschte Stelle (z.B. mittels https://msdn.microsoft.com/de-de/library/ms142040.aspx) Für 1-zeilige Tilesets mit fixer Tilesize kann man auch auf eine ImageList zurückgreifen: https://msdn.microsoft.com/de-de/library/system.windows.forms.imagelist.imagecollection.addstrip(v=vs.110).aspx
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.