7. Oktober 2011

[dotnet] Image korrekt skalieren

Es ist mir aufgefallen, dass zeitweise Bilder, die mittels DrawImageUnscaled gezeichnet werden zeitweise nicht wirklich den tatsächlichen Bildmaßen entsprechen o.O

Nicht immer, einige Bilder werden korrekt gezeichnet, andere nicht?
Folgender Code [C#] sollte ein Bild in seiner ursprünglichen Größe (unscaled) zeichnen:


// Load the image and determine new dimensions
System.Drawing.Image img = System.Drawing.Image.FromFile(srcFilePath);
Size szDimensions = new Size(GetNextPwr2(img.Width), GetNextPwr2(img.Height));
// Create blank canvas
Bitmap resizedImg = new Bitmap(szDimensions.Width, szDimensions.Height);
Graphics gfx = Graphics.FromImage(resizedImg);
// Paste source image on blank canvas, then save it as .png
gfx.DrawImageUnscaled(img, 0, 0);
resizedImg.Save(newFilePath, System.Drawing.Imaging.ImageFormat.Png);


Doch tatsächlich ist das gezeichnete Bild ein wenig größer als die Ursprungsdatei... und verschwommen.

Nun bin ich der Sache mal auf den Grund gegangen und auf Folgendes gestoßen:
The method DrawImageUnscaled doesn't draw the image at the original pizel size, instead it uses the resolution (pixels per inch) of the source and destination images to scale the image so that it's drawn with the same physical dimensions. - Link

Tatsächlich :-o
Abhängig von der Auflösung des Bildes resultiert eine andere Größe beim zeichnen mit DrawImageUnscaled!

Die Lösung sieht folgendermaßen aus:
Anstatt das Bild direkt mit der Grafikmethode unskaliert zu zeichnen,
zeichne ich es nun mit angegebenen Maßen... denen des Bildes :)

Das würde in C# so aussehen:


gfx.DrawImage(img, 0, 0, img.Width, img.Height);



Soooo, damit sind wir wieder einem .net Rätsel auf die Spur gekommen ;)

happy coding
- the incredible Leitman

12. September 2011

und wieder eine..


Verschenkaktion für tutorials.de

tutorials Logo
Wir verschenken wieder IT-Bücher. Alles garantiert ohne Mindestbestellwert und ohne weitere Verpflichtungen. Es fällt nur die Versandpauschale von 3,95€ an, bzw. wenn du weitere Artikel im Wert von19,00€ mitbestellst, liefern wir innerhalb Deutschlands auch noch versandkostenfrei!

Wähle Deinen Wunschtitel für 0,00€:


PHP quick & dirty 

PHP quick & dirty - Workshops für schnelleres Programmieren
In12 Workshops beschreibt der erfahrene Webentwickler Marcus Straßer, wie Sie auch unter Zeitdruck Ihr Ziel erreichen. Anhand einer selbst entwickelten Blogsoftware zeigt der Autor, wie Sie effektiv programmieren und redundante Arbeitsgänge vermeiden.
früher: 30,00€ 
jetzt: 0,00€
VBA mit Access 

VBA mit Access
Neben den wichtigsten Programmiergrundlagen finden Sie hier eine umfangreiche VBA-Referenz und ein Kapitel mit vielen Tipps und Tricks aus der täglichen Praxis, die Ihnen jede Menge Zeit ersparen.
früher: 19,95€ 
jetzt: 0,00€
Frabmanagement

Farbmanagement
In diesem Buch erfahren Sie alle Einzelheiten über den Aufbau und die Architektur anspruchsvoller Internetanwendungen (Rich Internet Applications, RIA) mit MXML und ActionScript 3.0.
früher: 16,90€ 
jetzt: 0,00€

Bonus: Der PHP5 / MySQL5 Bestseller versandkostenfrei!

PHP5 MySQL 5 Bestseller
 Die 3. aktualisierte Auflage des Bestseller!
 Verlagspreis: 30,00€
 Terrashop-Preis: 14,99€

 Bonus für tutorials.de:
 Versandkostenfreie Lieferung
 innerhalb Deutschlands!


Aktion gültig bis Freitag, den 30. September 2011 bzw. solange der Vorrat reicht. Nur ein 0,- € Artikel pro Besteller.

27. Juli 2011

[Java] Hex String in Integer umwandeln... und zurück

Convert a Hex String to an Integer and Back Again in Java

Langsam beginne ich, Java zu mögen ;)

Wer hätte gedacht, dass es so einfach ist Strings zu konvertieren?
In nicht einmal 5 Zeilen Code ist das Ganze erledigt (hin UND zurück!)

Angenommen, wir haben einen String, der eine Hexadezimalzahl darstellt,
und wollen diesen in einen Integer umwandeln.
Hier wenden wir einfach die ParseInt Methode an:


  1. String hex = "2A"//The answer is 42  
  2. int intValue = Integer.parseInt(hex, 16);  


Um den Wert wieder in einen (Hex) String umzuwandeln, gibt es die toHexString Methode:


  1. String hex = Integer.toHexString(42);  


Das selbe funktioniert natürlich auch mit Long Werten ;) (ParseLong)

Und siehe da, so einfach ist das :)


EDIT: vielleicht auch interessant ist die toOctalString oder toBinaryString Methode um einen Zahlenwert in einen String in oktal oder binär Darstellung umzuwandeln ;)


happy working
the incredible Leitman

20. Juli 2011

Dropbox – 10 GByte gratis (von http://blog.drewjosh.ch)

Eingestellt von drewjosh | 19. Juli 2011
Wer Dropbox rege benutzt kennt es. Irgendwann ist das Limit des frei verfügbaren 2 GB online Speichers erreicht, der blaue Karton ist voll. Die intelligente Box kann allerdings bis zu 10 GByte kostenlos erweitert werden.
Wer schnell zu mehr Speicherplatz kommen möchte, hat die Möglichkeit, sein Facebook und/oder Twitter-Konto mit Dropbox zu verknüpfen und erhält dafür jeweils 128 MByte zusätzlichen Speicherplatz. Folgt man Dropbox bei Twitter wächst die Box um 128 MByte und wer den Entwicklern erzählt, wieso man Dropbox mag, wird ebenfalls mit 128 MByte belohnt. Lädt der Nutzer seine Freunde per E-Mail, Facebook oder Twitter ein, winken pro neu angemeldeter Nutzer 250 MByte.


Mit einem einfachen Trick und ein wenig Zeit kannst du deine Dropbox um 8 GByte vergrössern. Was du genau benötigst und wie du vorgehen musst, findest du hier unter dem Link von CHIP online:

19. Juli 2011

tutorials.de Sonderaktion

tutorials.de Sonderaktion


tutorials.de Sonderaktion

tutorials Logo

Wir verschenken wieder "Computersachen". Alles garantiert ohne Mindestbestellwert und ohne weitere Verpflichtungen.
Es fällt nur eine Versandpauschale von 3,95€ an bzw. ab 19,- € Bestellwert liefern wir innerhalb Deutschlands auch noch versandkostenfrei!

Wähle deinen Wunschtitel für 0,00 EUR:

Windows 7 Video-Lernkurs

Windows 7 - Video-Training

Dieser vierstündige Windows 7 Video-Lernkurs zeigt Ihnen in 81 Kapiteln kompetent und umfassend, wie Windows 7 funktioniert, welche Programme dabei sind und wie Sie Windows 7 anpassen und tunen.
früher: 7,99€
jetzt: 0,00€
Photoshop Lightroom 2

Photoshop Lightroom 2

Karl Obermayr, langjähriger Fotobuch-Autor und Experte in Sachen RAW-Entwicklung, stellt das Programm in allen Details vor und zeigt Ihnen den optimalen Workflow eines Profi-Fotografen.
früher: 39,95€
jetzt: 0,00€
Das Samba-Buch

Das Samba-Buch

In diesem Buch beschreibt der Autor umfassend, was Samba ist und wie es für die unterschiedlichsten Zwecke, seien sie beruflich oder privat, eingesetzt werden kann.
früher: 49,90€
jetzt: 0,00€

Bonus: Kostenloser Versand für Softwareentwicklung - Einstieg für Anspruchsvolle

Software-Entwicklung
Lesetipp für alle Programmierer!
früher: 29,95€
Terrashop-Preis: 9,99€
Bonus für tutorials.de:
Versandkostenfreie Lieferung
innerhalb Deutschlands!



Aktion gültig bis Montag, den 15. August 2011 bzw. solange Vorrat reicht. Nur ein 0,- € Artikel pro Besteller.