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

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von kleinrechner
Thema: Architektur mit Hirarchie und Berechtigung
Am im Forum: Rund um die Programmierung

Hallo,
die Berechtigung sollte über die Datenstruktur möglich sein, ich werde mir aber Resource-based Authorization nochmal genauer anschauen, danke für den Hinweis.

Leider ist es mir aktuell nicht möglich auf .net Core/EF Core umzusteigen, auch wenn ich das sehr gerne tun würde.

cu
Chris

Thema: Hirarchische Datenstruktur über EntityFramework oder Services
Am im Forum: Datentechnologien

Hallo,
da ich gerade dabei bin die Sturkur unserer Anwendung etwas zu überarbeiten, bin ich aktuell am überlegen, was hier die beste Vorgehenweise ist.

- .net Framework 4.8
- Entity Framework 6.1

Ich habe eine Datenstrukur, mit einer 1-n Verknüpfung zwischen den jeweiligen Tabellen Checklist->Category->Item. Die Checkliste enthält eine Liste aller zugehörigen Kategorien usw.
Für jede Tabelle existiert ein entsprechender Service, zum Auslesen, Speichern usw der Daten in der Datenbank.

Wenn ich eine Checkliste auslese, sollten alle Unterelemente enthalten sein.
Dies kann ich mithilfe von Navigations-Properties und EntityFramework über Include erreichen oder ich rufe jeweils die Methode des Service auf.
Welche Methode würdet ihr hier verwenden, was ist BestPractice? Ist die Service-Methode nicht deutlich langsamer?

cu
Christian

Thema: Architektur mit Hirarchie und Berechtigung
Am im Forum: Rund um die Programmierung

Hallo,
habe versucht die aktuelle Struktur graphisch darzustellen. Sieht auf den ersten Blick nach einer ganz normalen Standard-Struktur aus. Die Elemente sind jeweis mit einer 1:n-Verbindung verknüpft.

- .net Framework 4.8
- EntityFramework 6.1

Der angemeldete Benutzer ist auf 0-n Kostenstellen berechtigt, die Checklisten sind mit der Kostenstelle verknüpft. Wenn in ICategory GetAll aufgerufen wird, sollen natürlich nur die Kategorien zurückgegeben werden, auf die der Benutzer berechtigt ist. Ich habe das aktuell so gelöst, dass der "Parent"-Service eine Liste aller Ids, auf die der Benutzer berechtigt ist, zurückgibt und in GetAll() die verwendet werden.


            var availableIds = _checklistService.GetAllIds();
            return _repository.GetAll().Where(x => availableIds.Contains(x.ChecklistId));

Das funktioniert zwar soweit, ich bin mir allerdings nicht sicher, ob das so elegant ist bzw von der performance her Probleme geben könnte. Gibt es hier ein BestPractice?

In diesem Fall muss ich in der Klasse der CategoryService-Klasse das IChecklistService injecten, allerdings möchte ich auch in der ChecklistService-Klasse die ICategoryService injecten, um z.B. alle Kategorien zu löschen, wenn die Checkliste gelöscht wird. Das geht natürlich nicht, weil hier eine Kreisabhängigkeit besteht. Wie würde man das am besten auflösen?

Vielen Dank
Chris

Thema: Wie gebe ich etwas in einer Textbox aus?
Am im Forum: GUI: Windows-Forms

- Extrem unschauber: Du könntest die TextBox als Public definieren
- Unsauber: Du könntest dir eine Public-Methode schreiben, die den Wert der Textbox setzt

Vermutlich möchtest du deine Logik eigentlich nicht innerhalb der Main-Funktion ausführen und solltest dir einen anderen Ort dafür suchen -> 3-Schichten-Architektur usw

Thema: Performance von Blend-Effekt von einem Bild ins andere verbessern
Am im Forum: Grafik und Sound

Falls es jemanden interessiert, hab es aktuell wie folgt gelöst, das funktioniert auch, wie gewünscht:



        private void Timer_Tick(object sender, EventArgs e)
        {
            if (alpha ≤ 1)
            {
                using (var oldImage = pictureBox1.Image)
                {
                    var destinationImage = new Bitmap(sourceImage);
                    using (var graphics = Graphics.FromImage(destinationImage))
                    {
                        using (var attributes = new ImageAttributes())
                        {
                            //create a color matrix object  
                            var matrix = new ColorMatrix();

                            //set the opacity  
                            matrix.Matrix33 = alpha;

                            attributes.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
                            graphics.DrawImage(targetImage, new Rectangle(0, 0, targetImage.Width, targetImage.Height), 0, 0, destinationImage.Width, destinationImage.Height, GraphicsUnit.Pixel, attributes);
                        }
                    }
                    pictureBox1.Image = destinationImage;
                    alpha += 1 / (float)75;
                }
            }
            else
            {
                timer.Stop();
            }
        }

Thema: Performance von Blend-Effekt von einem Bild ins andere verbessern
Am im Forum: Grafik und Sound

Zitat
Ich vermute, dass Dein DrawImage langsam sein wird; GDI+ ist eben halt auch nicht gerade die performanteste Art und Weise - und das wird eben hier verwendet.
Letzten Endes kann aber jeder hier nur raten.
Deshalb hatte ich ja gefragt, weil ich, wie gesagt, nicht so viel Erfahrung in Bildbearbeitung hab, evlt hat jemand einen besser Methode, wie man das umsetzen kann.

cu
Christian

Thema: Suche Bibliothek oder Algorithmus um Bildeffekte schneller anzeigen zu lassen
Am im Forum: Grafik und Sound

Hallo,

Zitat
Wenn Du von eienr Diashow sprichst, klingt das danach, dass eine Reihe von Bildern nach und nach angezeigt werden. Da könnte man zum Kaschieren der Rechenzeit ja schon im Vorraus anfangen zu Rechnen.
Aktuell hab ich es so eingebaut, dass immer das nächste Bild schon vorbereitet wird, während das aktuelle angezeigt wird. Was allerdings das Problem nur bedingt kompensiert.
Zitat
Und je nach Aufteilung der Bildanzeige, also Original, farbreduziert und mit ölfilter, benötigst Du ja eventuell auch nicht die volle Auflösung der Bilder.
Stimmt, aktuell mach ich allerdings so, dass ich das Bild in voller auflösung filtere (und zwischenspeichern) und dann die größe auspasse, da der benutzer ja auch während der Anzeige die größe Ändern kann, ich dachte das ist schneller, als immer das Bild für die aktuelle Größe zu rendern.

cu
Christian

Thema: Performance von Blend-Effekt von einem Bild ins andere verbessern
Am im Forum: Grafik und Sound

Hallo,
würde von einem Bild in ein anderes Bild überblenden lassen,
habe dafür aktuell folgende Funktion entwickelt:



            var stepCount = 75;
            return Enumerable.Range(0, stepCount).Select(x => GetImage(x, stepCount, secondaryImageMedia, primaryImageMedia));


        private Bitmap GetImage(int x, int stepCount, Bitmap sourceImage, Bitmap targetImage)
        {
            var destination = new Bitmap(Math.Max(sourceImage.Width, targetImage.Width), Math.Max(sourceImage.Height, targetImage.Height));
            using (var graphics = Graphics.FromImage(destination))
            {
                using (var attributes = new ImageAttributes())
                {
                    //create a color matrix object  
                    var matrix = new ColorMatrix();

                    //set the opacity  
                    matrix.Matrix33 = 1 - ((float)x / (float)stepCount);

                    attributes.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
                    graphics.DrawImage(sourceImage, new Rectangle(0, 0, sourceImage.Width, sourceImage.Height), 0, 0, destination.Width, destination.Height, GraphicsUnit.Pixel, attributes);
                }

                using (var attributes = new ImageAttributes())
                {
                    //create a color matrix object  
                    var matrix = new ColorMatrix();

                    //set the opacity  
                    matrix.Matrix33 = (float)x / (float)stepCount;

                    attributes.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
                    graphics.DrawImage(targetImage, new Rectangle(0, 0, targetImage.Width, targetImage.Height), 0, 0, destination.Width, destination.Height, GraphicsUnit.Pixel, attributes);
                }

                graphics.Save();
            }

            return destination;
        }



Es funktioniert zwar und gibt mir das gewünschte ergebnis zurück, benötigt aber dafür ca. 5 sek.
Da ich sonst auch eher BusinessAnwendung, hab ich von Grafik-Bearbeitung leider ziemlich wenig Erfahrung, evlt sieht die BestPractice ja auch ganz anders aus.
Oder einen Tipp geben, wie ich das schneller machen kann oder parallelisieren kann, ohne dass ich Fehler bekomme, dass das Bild bereits in Verwendung ist.


Vielen Dank

cu
Christian

Thema: Suche Bibliothek oder Algorithmus um Bildeffekte schneller anzeigen zu lassen
Am im Forum: Grafik und Sound

Hallo,
schreibe gerade eine kleine Diashow, bei der Bilder mit mehreren Effekten angezeigt werden.
Hab mich bei den Effekten an folgenden Bibliotheken orientiert:
- https://github.com/andrewkirillov/AForge.NET
- https://github.com/JimBobSquarePants/ImageProcessor

Leider wird vor allem der OilPainting- und der ColorReduction-Filter sehr langsam ausgeführt (bei einem HD-Bild zwischen 5 und 12 sek). Ich hab auch gesehen, dass die Abarbeitung hier komplett seriell passiert.

Kennt ihr evlt ein Bibliothek oder Algorithmus, bei dem die Effekte etwas schneller ausgeführt werden (unter 1 sek wäre super!).
Könnt ihr mir noch weitere performante Bildbearbeitungs-Bibliotheken empfehlen?


Vielen Dank

cu
Christian

Thema: Architektur: Instanzen von zufälligen Klassen erzeugen
Am im Forum: Rund um die Programmierung

Danke für die Info, ich werde mir das mal etwas genauer anschauen.

Thema: Architektur: Instanzen von zufälligen Klassen erzeugen
Am im Forum: Rund um die Programmierung

Hallo,
hab mich zwar noch nicht intensiv mit ReactiveExtensions beschäftigt, sie sind mir aber bekannt, wie ich das bis jetzt immer verstanden hatte, ist das ein Framework, um auf Antworten von einem Stream, WebService etc zu reagieren, so hab ich das jetzt auch der Website entnommen.

In wie weit mir das bei meinem Problem weiterhilft, hab ich noch nicht ganz verstanden, kannst du dazu evlt noch 1-2 Sätze schreiben?

Vielen Dank

cu
Christian

Thema: Farben für Text mit Bild-Hintergrund
Am im Forum: Grafik und Sound

Hallo,
dieses Beispiel verwende ich aktuell, um die Beschreibungstexte darzustellen.
Auf einen Rahmen wollte ich eigentlich verzichten, ein transparenter Hintergrund ist schon irgendwie hübscher.

cu
Christian

Thema: Architektur: Instanzen von zufälligen Klassen erzeugen
Am im Forum: Rund um die Programmierung

Hallo,
ich schreibe gerade eine kleine private Anwendung, bei der es sich um eine Art Diashow mit mehreren Effekten handeln soll.
Die Effekte sollen per Zufall angezeigt werden.

Bei der aktuellen Architektur handelt es sich um eine Mischung aus Decorator- und Strategie-Paddern.
Ich hab versucht die Architektur im angehängten Bild darzustellen.
Das Frontend wird aktuell über Decorator zusammengesteckt, wobei die jeweilig erforderlichen Daten, im Konstruktur übergeben werden, das führt dazu, dass sich die Konstruktoren für alle Klassen unterscheiden.
Die Instanzen werden über eine Factory erzeugt, die auch die jeweiligen Media-Klassen (also Image, Sound und Text-Files, mit den jeweiligen Filtern erzeugt und den Anzeige-Klassen übergibt).

Dadurch haben wir eine schöne Trennung zwischen den Anzeige-Klassen und dem Auslesen der Daten, auf der anderen Seite wird dadurch die Factory sehr komplex und muss für jede Klasse schauen, wie die erzeugt werden muss und welche Abhängigkeiten bestehen.
Die Anzeige-Klassen wissen natürlich am besten, welche Daten sie benötigen, wenn ich die Respository-Services übergeben würde, könnten sich die Anzeige-Klassen die Daten selber holen, sie benötigt werden, aber dann ist die Trennung zwischen Anzeige und Logik wieder vermischt, aber die Klassen-Instanzierung wäre einheitlich.
Also einfach ausgedrückt, "Logik in Factroy, Trennung von Anzeige" vs "Schlanke Factory und Logik in Anzeige".
Es soll in Zukunft beliebig viele Filter geben können, um für jeden Filter eine eigene Ansicht zu erzeugen, wäre etwsa umständlich, die Filter in der Factory zu erzeugen, macht diese wieder komplexer.

So richtig gut, gefallen mir beide Lösungen nicht, vielleicht übersehe ich auch irgendwas und jemand hat eine Idee, wie man die Architektur deutlich einfach zusammenbauen kann.

cu
Christian

Thema: Farben für Text mit Bild-Hintergrund
Am im Forum: Grafik und Sound

Hallo,
ich schreibe gerade eine kleine Anwendung, in dem ich einen Beschreibungs-Text als Overlay für ein zufälliges Bild darstellen möchte.
Um den Text im Vordergrund lesbarer zu machen, hatte ich mir überlegt, die Farbe abhängig vom Hintergrundbild auszuwählen, indem ich die durchschnittliche Hintergrundfarbe des aktuellen segments berechne (z.B. unten mitte, in dem sich der Text befindet) und dafür die jeweiligen Komlementärfarben berechne.
Ich habe mich hierfür an folgendem Beispiel orientiert (sowohl Methode, als auch Quellcode):
Color Scheme Selector
Ich habe hier die Split-Complements und Traids-Farben ausprobiert.

Es werden zwar Farben ausgegeben, es handelt sich dabei allerdings um die typischen Neon-Farben, wie man sie bei per Algorithmus erzeugen Farben kennt, was ästhetisch leider gar nicht schön aussieht.


Kann man prozedural Farben erzeugen, die gut aussehen, ohne feste Farbkombinationen vorzugeben?
Ich erwarte hier keinen Quellcode, eher, wie ich methodisch vorgehen müsste, um solche Farbkombinationen zu erhalten.

Vielen Dank.

cu
Christian

Thema: VisualStudio Code-Template für TypeScript und React
Am im Forum: Web-Technologien

Ok,
es wäre ja schonmal für den Anfang interessant, zu wissen, ob sich die Anforderungen, die TypeScript-Dateien direkt in VSCode debuggen zu können und die Anforderung die Dateien zu Bundeln und die kompilierten Dateien in einem separaten Ordner abzulegen gegenseitig widersprechen.

Hat hier evtl jemand Erfahrung sammeln können?

cu
Christian

Thema: VisualStudio Code-Template für TypeScript und React
Am im Forum: Web-Technologien

Hallo,
wenn man nach VSCode-Templates sucht findet man eine große Anzahl an Beispielen, ich hab jetzt auch bereits sehr viele davon ausprobiert, leider lieferte keines der Beispiele eine Verhalten, wie ich es mir gewünscht hätte.

Ziel wäre eine VSCode-Projeksturktur für Typescript, im dem auch React enhalten ist, in dem durch Drücken auf den Debug-Button:
- der TypeScript-Code neu kompiliert wird (also die Map- und JS-Dateien erzeugt werden)
- ein WebDienst gestartet wird
- ein Browser geöffnet wird, der die Seite anzeigt
- es möglich ist im VSCode zu debuggen
Also im Prinzip so, wie man es aus VisualStudio gewohnt ist.

Schön wäre es auch, wenn die kompilierten Dateien nicht im selben Ordner wären, wie die TypeScript-Dateien (wegen der Übersichtlichkeit) und das Ergebnis in einer einzelnen Datei landet.
Ich weiß aber aktuell nicht, ob sich die letzten Anforderungen mit dem Debuggen widersprechen.

Aktuell habe ich bereits ein Template, das die Dateien kompiliert, Chrome startet und die Seite anzeigt, aber leider lassen sich die Dateien in VSCode nicht mehr debuggen.

Welche Templates verwendet ihr für eure TypeScript-Entwicklung?

cu
Kleinrechner