myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Grafik und Sound » Wie kann ich ein Bild mit Transparenz in mein (Monogame, VS2019) Projekt einbinden?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Wie kann ich ein Bild mit Transparenz in mein (Monogame, VS2019) Projekt einbinden?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
stefanpc81
myCSharp.de-Mitglied

Dabei seit: 18.07.2017
Beiträge: 24


stefanpc81 ist offline

Wie kann ich ein Bild mit Transparenz in mein (Monogame, VS2019) Projekt einbinden?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

ich arbeite mit Visual Studio 2019, Monogame 3.7.1 mit DirectX, Windows 10 64-bit. Egal, ob ich eine o.g. PNG-Datei über das "Monogame Pipeline Tool" hinzufüge oder es direkt in den Bereich Projektmappenexplorer - Content hineinziehe, kommt jedes mal beim Debuggen der Fehler

Fehlermeldung:
Microsoft.Xna.Framework.Content.ContentLoadException:
"The content file was not found."
Innere Ausnahme
FileNotFoundException: Could not find file 'F:\PC\Programmierung_C#\MG2\bin\Debug\netcoreapp3.1\Content\test.xnb'.

Wenn ich vor dem Debuggen versuche das Bild über das "Monogame Pipeline Tool" hinzuzufügen, und dann auf "Build" gehe, kommt eine andere Fehlermeldung, welche etwas länger ist und leider nicht über Copy&Paste hier posten kann.

Eine Beispieldatei im Anhang.

Was kann ich versuchen um das Problem zu beheben? Ich habe die Bilder über Paint gezeichnet/bzw. per Screenshot eingefügt und mit Adobe Photoshop Elements 13 den transparenten Bereich erstellt.

stefanpc81 hat dieses Bild (verkleinerte Version) angehängt:
test.png
Volle Bildgröße

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von stefanpc81 am 19.10.2020 16:04.

19.10.2020 16:02 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
stefanpc81
myCSharp.de-Mitglied

Dabei seit: 18.07.2017
Beiträge: 24

Themenstarter Thema begonnen von stefanpc81

stefanpc81 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Warum auch immer, war in einem Projekt auf einmal im "Monogame Pipeline Tool" die PNG-Datei mit einer für Windows typischen Link-Datei dargestellt. In Content.mgcb steht dort der Code

#begin ../../../../test.png
/importer:TextureImporter
/processor:TextureProcessor
/processorParam:ColorKeyColor=255,0,255,255
/processorParam:ColorKeyEnabled=True
/processorParam:GenerateMipmaps=False
/processorParam:PremultiplyAlpha=True
/processorParam:ResizeToPowerOfTwo=False
/processorParam:MakeSquare=False
/processorParam:TextureFormat=Color
/build:../../../../test.png;test.png

Wenn ich diesen in ein anderes Projekt eintrage und die PNG-Datei nur in den Projektmappen-Explorer ziehe, funktioniert er dort auch.
19.10.2020 17:56 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.572
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Das sieht alles sehr ungewöhnlich aus. Bist du sicher, daß das der übliche Workflow mit Monogame ist? Ich habe noch nie mit Monogame oder XNA gearbeitet, und du wirst hier im Forum auch kaum jemanden finden, der damit Erfahrungen hat.

Deswegen hatte ich vorgeschlagen, erstmal mit WinForms oder WPF anzufangen. Um die Linien und Grafiken zu zeichnen, und damit Erfahrung zu sammeln, reicht das nämlich völlig aus. Und zu diesen Technologien gibt es jede Menge Leute mit viel Erfahrung, die dir dabei helfen könnten.
20.10.2020 12:22 Beiträge des Benutzers | zu Buddylist hinzufügen
stefanpc81
myCSharp.de-Mitglied

Dabei seit: 18.07.2017
Beiträge: 24

Themenstarter Thema begonnen von stefanpc81

stefanpc81 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

@MrSparkle
Mit den anderen Dateien ist der Workflow mit MonoGame tatsächlich nicht so. Aber das ist nicht weiter schlimm für mich.
Was die Programmierumgebung angeht, sind es nett gemeinte Vorschläge von dir. Ich habe bereits einen Flugsimulator oder besser gesagt, einen Cockpitsimulator, mit Javascript/CSS und HTML gebaut. Mit <DIV> kann man da nämlich ganz schnell Bereiche schaffen, worauf alles gezeichnete am Rand abgeschnitten wird. Das ist dort extrem schnell möglich im Gegensatz zu meinen Bemühungen unter C#/MonoGame. Was mir bei den WinForms und bei WPF nicht gefällt, ist die Benutzeroberfläche die mir zu statisch erscheint. Ich brauche keine Windows-Buttons o.ä. Der Cockpitsimulator der unter einem Browser läuft, gerät von der Rechenleistung her aber an seine Grenzen. Deswegen wollte ich diesen mit einer neuen Programmiersprache neu schreiben, um etwas Neues zu lernen. Du meintest mit "Erfahrung sammeln" wahrscheinlich wie man Linien o.ä. mit X,Y-Koordinaten programmiert. Da muss ich ehrlich sagen, dass ich damit keine großen Probleme habe (Erfahrung mit Javascript) und auch schon mit MonoGame und WPF eigene kleine Übungen gemacht habe. Lediglich für das Clipping an Objekten habe ich noch keine Lösung mit C# bzw. MonoGame gefunden. Aber wie gesagt, WinForms und WPF erscheint mir nicht dynamisch genug. Im Cockpitsimulator muss vieles aktualisiert und grafisch dargestellt werden. Deshalb wurde mir wohl auch von einem anderen User in meinem vorherigen Thread MonoGame als die bessere Variante ans Herz gelegt, was meine Meinung bestätigt.
Mal sehen, wo und wie ich weiter mache.
21.10.2020 14:39 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 3.810
Entwicklungsumgebung: Visual Studio 2015/17


Th69 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Wenn du bei MonoGame bleiben willst, dann mußt du dich wohl mit  Shadern auseinandersetzen, s. z.B.  Drawing a non rectangular part of Texture2d (besonders die letzte Antwort von "willmotil" - Stichwort: clip(x)).
21.10.2020 15:39 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.572
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Aus eigener Erfahrung kann ich sagen, daß man mit allen genannten Technologien viele tausende oder zehntausende 2D- und 3D-Objekte in Echtzeit rendern kann: WinForms/GDI+, WPF, JavaScript, DirectX, OpenGL etc. Die paar Linien und Grafiken, die du zeichnen möchtest, werden kein System in die Knie zwingen.

Wenn du bei deiner JavaScript-Umsetzung an die Grenzen gestoßen bist, dann liegt es jedenfalls nicht an der Grafik-Performance. Du kannst aber schauen, welcher Teil von deinem Code die meiste Rechenzeit benötigt, und diesen Code dann optimieren. Dazu gibt es ein Tool namens Profiler, der ist in VisualStudio integriert (für C#-Code), und inzwischen auch in jedem Browser (für JS-Code).

Wenn du sowieso schon alles einmal in JS umgesetzt hast, würde ich empfehlen, lieber erstmal deinen vorhandenen Code zu optimieren, ehe du anfängst, eine neue Technologie zu erlernen und damit dann wieder die gleichen Fehler machst. Das meinte ich u.a. mit "Erfahrung sammeln".

So ähnlich hatte ich es damals auch schon in  Welche Entwicklungsumgebung für einen Flugsimulator? formuliert.

Und ein Link zu dem Clipping-Problem hatte ich bereits hier gepostet:  Kann ich mit MonoGame ein Objekt definieren, auf dem jeglicher Inhalt am Rand abgeschnitten wird?
22.10.2020 12:26 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als ein Monat.
Der letzte Beitrag ist älter als ein Monat.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 06.12.2020 02:51