Laden...

Skalierungstool für Bilder - Thumbnailerstellung - WPF

Erstellt von imagodespira vor 17 Jahren Letzter Beitrag vor 16 Jahren 12.510 Views
imagodespira Themenstarter:in
45 Beiträge seit 2004
vor 17 Jahren
Skalierungstool für Bilder - Thumbnailerstellung - WPF

Hallo, hier eines meiner derzeitigen Projekte: Resizer

Das Tool soll einmal eine Liste von Bildern für WebGalerien oder Onlineshops in die richtige Größe konvertieren.
Zur Zeit mache ich es noch in einem Grafikprogram, Bild für Bild, was ich langsam satt habe 😁 .

Es gibt zwar tausende Tools in der Art, für mich ist es ein Testprojekt um .net3.0 mit WPF und Vista zu probieren.

Das Programm läuft wahrscheinlich nur unter WindowsVista, da ich den OpenFileDialog von Vista eingebunden habe. Per Drag´n Drop lassen sich auch Bilder in die ListView hineinziehen, was evtl. auch unter XP geht.. aber nicht getestet.

EDIT: Das Programm läuft nur auf Vista !!! 🙂

Ich bin mir noch nicht ganz sicher, wie ich die Skalierung machen soll. Bis jetzt geht der Slider für die Breite der jeweiligen Bilder. Danach wird die Breite des Thumbnails angepasst. Höhe habe ich noch nicht gemacht. Ich will auch die Möglichkeit ein Bild in ein Quadrat einzupassen, wird alles noch.

Gespeichert wird bis jetzt nur in einem Ordner auf dem Desktop, dies bitte beachten. Den Ordner könnt Ihr ja wieder löschen 🙂

Zum Testen hab ich auch mal die Speech-Engine von net3.0 eingebunden Wenn man oben auf die Buttons geht, spricht die Windows-Sprachausgabe etwas🙂 Ich habe eine deutsche Sprache dafür installiert, hier dafür ein Link:
http://download.microsoft.com/download/1/2/2/12246417-CD66-4541-B32B-8CD18E92AAE7/RSSolo4German.zip

Um die Sprache zu deaktivieren, auf den kleinen Lautsprecher klicken.

Und hier der Link zum TestProjekt:

Resizer-Test

Und im Anhang noch 2 Screenshots.

Gruß,

imagodespira

despira.de - Thomas Claus - Taucherstr. 21 - 02625 Bautzen - Tel: 03591 / 480357 WebDesign - .Net Softwareentwicklung – Computergrafik – PC-Service
R
115 Beiträge seit 2006
vor 17 Jahren

Unter WinXP geht es leider nicht - da sagt er nur, dass er ein Problem festgestellt hat. Mehr nicht.

imagodespira Themenstarter:in
45 Beiträge seit 2004
vor 17 Jahren

Wahrscheinlich liegt es an dem OpenFileDialog, mal sehen ob ich da eine Abfrage einbaue indem ich das Betriebssystem auslese und danach den FileDialog baue.

despira.de - Thomas Claus - Taucherstr. 21 - 02625 Bautzen - Tel: 03591 / 480357 WebDesign - .Net Softwareentwicklung – Computergrafik – PC-Service
W
23 Beiträge seit 2005
vor 17 Jahren

Ich denke das Problem liegt an anderer Stelle. Denn da du einen transparenten Fensterhintergrund verwendest wirst du wohl neue API Funktionen von Windows Vista verwenden, die unter WinXP nicht existieren. Und wenn man das tut, dann resultiert das in einer wunderschönen Fehlermeldung wie sie vorliegt, wenn man dein Programm startet.

230 Beiträge seit 2007
vor 17 Jahren

Wahrscheinlich liegt es an dem OpenFileDialog, mal sehen ob ich da eine Abfrage einbaue indem ich das Betriebssystem auslese und danach den FileDialog baue.

Wenn man dein Programm auf XP startet kriegt man eine System.DllNotFoundException, weil es dort keine Desktop Window Manager DLL (dwmapi.dll) gibt. Mit deinem FileDialog hat das nichts zu tuen.

[Vista: Desktop Window Manager]
http://blogs.msdn.com/greg_schechter/archive/2006/03/05/544314.aspx

[APIs in the Desktop Window Manager]
http://blogs.msdn.com/greg_schechter/archive/2006/09/14/753605.aspx

Dem SDK liegt eine DwmApi.cs bei. Das ist eine Implementierung in C# als managed wrapper, der DWM API Funktionen.

imagodespira Themenstarter:in
45 Beiträge seit 2004
vor 17 Jahren

😉 ja, stimmt ich habe die sache auch nicht abgefangen. Ich weiss aber auch nicht, ob ich das noch machen werde, da ich unter Vista arbeite und das eher ein Testprojekt sein soll. Ich hätte wohl dazuschreiben soll, dass es nur unter Vista geht.

Arbeitet Ihr alle noch unter XP, oder sind schon einige umgestiegen?

despira.de - Thomas Claus - Taucherstr. 21 - 02625 Bautzen - Tel: 03591 / 480357 WebDesign - .Net Softwareentwicklung – Computergrafik – PC-Service
49.485 Beiträge seit 2005
vor 17 Jahren

Hallo imagodespira,

ich arbeite unter Win2k 🙂

Aber ich denke es spricht trotzdem nicht dagegen, wenn du schreibst, dass deine Anwendung nur unter Vista läuft.

herbivore

T
433 Beiträge seit 2006
vor 17 Jahren

Läuft bei mir unter Vista.

  • Die neuen Controls find ich richtig chic.
  • Qualität der Sprachausgabe ist grauenhaft
    Ich nutze aber die englische Version von Vista, evtl klingt es im deutschen ja besser
  • Es ändert sich alles schön dynamisch (Wie man es von WPF gewohnt ist 😉)

Guter Ansatz!

Gruß,
Tom

R
115 Beiträge seit 2006
vor 17 Jahren

Bekommt man eigentlich auch irgendwie diesen Look auf XP mit installierten .NET 3.0 Framework hin?

Das dieser Aeroeffekt so nicht geht, kann ich mir gut vorstellen, aber würde man dies weglassen könnte doch die Anwendung auch unter XP laufen, oder täusch ich mich?

imagodespira Themenstarter:in
45 Beiträge seit 2004
vor 17 Jahren

@Tom: Für die Sprachausgabe habe ich mir die deutsche Sprache "Steffi" heruntergeladen, welche man nach der Installation in der Systemsteuerung bei "Text in Sprache" aktivieren muss. Den Link habe ich oben eingefügt. Die beste Qualität ist es trotzdem nicht. Es gibt kostenpflichtige Sprachen, die mehrere hundert Megabyte an Daten haben mit einem besseren Wortschatz und besserer Ausgabe.

@Reman: Theoretisch kann man das mit XP auch starten, man müsste die Einbindung der DLL für den Aeroeffekt herausnehmen und statt dem Vista OpenFileDialog den von .Net2.0 oder XP einbinden.

despira.de - Thomas Claus - Taucherstr. 21 - 02625 Bautzen - Tel: 03591 / 480357 WebDesign - .Net Softwareentwicklung – Computergrafik – PC-Service
T
433 Beiträge seit 2006
vor 17 Jahren

Mit 'Steffi' verbinde ich leider eine sehr schrille quietschige Stimme 😭

Viel Spass noch weiterhin!

Gruß,
Tom

H
182 Beiträge seit 2006
vor 17 Jahren

Vorab - sehr Chic!

Wenn Du es als Testprojekt machts. Gehe ich mal davon aus, dass Du es nicht verkaufen willst. Und da stellt sich für mich die Frage, ob Du es nicht der Allgemeinheit zur Verfügung stellen könnest!?!?! (Sourcecode)

Würde mich sehr interessieren!

MfG
HyperteX

"In der Informatik geht es genauso wenig um Computer wie in der Astonomie um Teleskope."
Edsger Dijkstra

230 Beiträge seit 2007
vor 17 Jahren

Original von imagodespira
Arbeitet Ihr alle noch unter XP, oder sind schon einige umgestiegen?

XP ist weiterhin das Betriebssystem auf meinem Produktionsrechner. Vista läuft nur in einer virtuellen Maschine. Nach SP1 für Vista wage ich den vollständigen Wechsel.

imagodespira Themenstarter:in
45 Beiträge seit 2004
vor 17 Jahren

@sarabande: Bei mir ist es umgedreht😉 XP läuft bei mir in der VM und Vista als Produktionsrechner, macht mir einfach mehr spass...

@HyperteX: Ich denke, es wird irgendwann als Freeware verfügbar sein. Der Quellcode ist bei mir immer nicht wirklich aufgeräumt, sehr schwierige Funktionen sind bis jetzt auch nicht eingebaut.

Um Oberflächen mit WPF zu gestalten empfehle ich "Expression Blend", ein geniales Tool und mit etwas Einarbeitung kommt man sehr schnell klar damit. Die Oberfläche wird dort erzeugt und die Events in Visualstudio ausgewertet.

Folgende Seite ist sehr zu empfehlen:

http://movielibrary.lynda.com/html/modPage.asp?ID=359&ref=swf

Hier gibt es Videos zur Anwendung von Blend. Die Oberfläche des Programmes diente mir auch als "Anschauungsmaterial" für mein Testprojekt. Ich habe quasi verucht das Design mit dem Programm dort nachzubauen.

despira.de - Thomas Claus - Taucherstr. 21 - 02625 Bautzen - Tel: 03591 / 480357 WebDesign - .Net Softwareentwicklung – Computergrafik – PC-Service
H
182 Beiträge seit 2006
vor 17 Jahren

Ok danke! Werd ich mir anschaun!

Aber wie machst Du den Hintergrund transparent?

MfG
HyperteX

"In der Informatik geht es genauso wenig um Computer wie in der Astonomie um Teleskope."
Edsger Dijkstra

230 Beiträge seit 2007
vor 17 Jahren

Original von HyperteX
...Und da stellt sich für mich die Frage, ob Du es nicht der Allgemeinheit zur Verfügung stellen könnest!?!?! (Sourcecode)

Programme, die mit C# geschrieben wurden, sind quasi Open Source. Reflektor und der BAML Viewer als Add On sagen dir etwas?

H
182 Beiträge seit 2006
vor 17 Jahren

Danke!

Das is ja echt erschreckend! Naja

Aber ich hab leider immer noch nicht rausgefunden wie er den transparenten Hintergrund gemacht hat...

"In der Informatik geht es genauso wenig um Computer wie in der Astonomie um Teleskope."
Edsger Dijkstra

imagodespira Themenstarter:in
45 Beiträge seit 2004
vor 17 Jahren

Ich würde OpenSource und C# eher nicht vereinheitlichen, auch wenn man sicher irgendwie an den SourceCode herankommen könnte. Aber das ist ein anderes Thema🙂

Wenn ich mal den Code des Programmes aufgeräumt habe, gebe ich den vielleicht auch frei. Aber Ich glaube nicht, dass man da viel lernen kann.

Zum Thema Transparenten Hintergrund:

Hier ist ein Link in deutsch wo das beschrieben ist:
http://blog.orbmu2k.de/coding/csharp/glass-effekte-unter-wpf/

Hier ein Link in englisch aus der MSDN:
http://msdn2.microsoft.com/en-us/library/ms748975.aspx

Hier noch ein Link:http://blogs.msdn.com/adam_nathan/archive/2006/05/04/589686.aspx

...Und hier noch ein Link mit SourceCode zum download:
http://blogs.msdn.com/tims/archive/2006/04/18/578637.aspx

Diese Sachen einfach durchstöbern und selbst testen. Alles habe ich auch noch nicht kapiert.. Ich würde gerne den Rahmen des Fensters seitlich und unten verkleinern. Leider klappt das nicht... für Tipps bin ich immer offen 🙂

despira.de - Thomas Claus - Taucherstr. 21 - 02625 Bautzen - Tel: 03591 / 480357 WebDesign - .Net Softwareentwicklung – Computergrafik – PC-Service
H
182 Beiträge seit 2006
vor 17 Jahren

Naja es ist echt erstaunlich was man mit so einem Reflektor alles rausfinden kann.
Zum Beispiel die Methode testRegNummer!!! Und das ist echt Kinderleicht! Da muss man sich echt überlegen ob c# das richtige für teure Entwicklungen ist...

Gruß
HyperteX

"In der Informatik geht es genauso wenig um Computer wie in der Astonomie um Teleskope."
Edsger Dijkstra

230 Beiträge seit 2007
vor 17 Jahren

Original von HyperteX
Naja es ist echt erstaunlich was man mit so einem Reflektor alles rausfinden kann.
Zum Beispiel die Methode testRegNummer!!! Und das ist echt Kinderleicht! Da muss man sich echt überlegen ob c# das richtige für teure Entwicklungen ist...

Als ich mit dem Reflektor das erste mal gearbeitet habe, war ich auch am staunen.
Naja dann noch ein paar apetizer:
Es gibt drei gute Decompiler( Dis# Decompiler, Spices.Net und Decompiler.Net), die im Gegensatz zum Reflektor, den vollständigen Quelltext in einem Rutsch übersetzen. Nachteil: Schweine teuer! Aber die Trials liefern auch schon sehr gute Ergebnisse. Jede zweite Methode, Event etc. wird übersetzt. Es gibt auch ein Add In, für den Reflektor, der diese Aufgabe übernimmt, aber meine Erfahrungen sind eher negativ damit.

Die Softwarehersteller, haben darauf reagiert und bieten sogenannte Obfuskatoren an, die die Arbeit der Decompiler zunichte machen. Dafür gibt es auch eine Lösung, aber das führt zu weit.

Entscheidend ist, dass es niemanden interessiert, wie du das Ding gebaut hast, denn die Zeit, die dafür drauf geht, steht in keinem Verhältnis zum Aufwand. In der Zeit hast du es selber programmiert. Einen Quellcode haben und einen Quellcode verstehen, macht den Unterschied aus. Außerdem finde ich es nicht befriedigend, mich, mit den Lorbeeren anderer Programmierer zu schmücken.

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo zusammen,

bitte keine Diskussion zu Reflection im Allgemeinen. Bitte nur diskutieren, was auch direkt mit dem vorgestellten Programm zusammenhängt. Danke!

herbivore

409 Beiträge seit 2006
vor 16 Jahren

Ok, der Thread ist zwat schon etwas älter, aber ich würde das Programm gerne mal ausprobieren. Leider hab ich kein Vista, weshalb das Programm nicht funktioniert. Könntest du den Vista-Dialog nicht raus nehmen?

imagodespira Themenstarter:in
45 Beiträge seit 2004
vor 16 Jahren

Hallo, habe deine Antwort erst jetzt gelesen, war lange nicht hier 🙂

Ich versuche es am Wochenende mal hinzubekommen den Vista-Dialog herauszunehmen. Viel habe ich leider nicht mehr geschafft, das Programm ist noch nicht wirklich fertig, wenn mehr Zeit ist geht es weiter.

despira.de - Thomas Claus - Taucherstr. 21 - 02625 Bautzen - Tel: 03591 / 480357 WebDesign - .Net Softwareentwicklung – Computergrafik – PC-Service