| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Bitmap 90° drehen (693 mal gelesen)
|
Fan-ME10 Mitglied DV-Adminstrator, Konstrukteur
  
 Beiträge: 543 Registriert: 21.08.2001 Erare humanum est
|
erstellt am: 26. Jul. 2005 14:38 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich muß in eine fertige Bitmap (BMP-Datei) bei Aufruf des Programms um 90° drehen. Ich brauche keinen Benutzerdialog, also nur Sub Main mit Übergabe des Dateinamens in der Kommandozeile. Weiß jemand, ob es da schon was gibt? ------------------ Gruß Wilfried  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4) AutoCAD Map 2000i / WinNT (SP6)
|
erstellt am: 26. Jul. 2005 17:56 <-- editieren / zitieren --> Unities abgeben:          Nur für Fan-ME10
|
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4) AutoCAD Map 2000i / WinNT (SP6)
|
erstellt am: 27. Jul. 2005 09:47 <-- editieren / zitieren --> Unities abgeben:          Nur für Fan-ME10
Hallo Wilfried, habe Dir eine kleine KonsolenAnwendung geschrieben, welche Dir nach Eingabe des Pfades eine BMP Datei dreht. Du solltest lediglich darauf achten, dass es sich auch wirklich um eine BMPDatei handelt. Gedreht wird 90° rechts herum. Du brauchst beide Dateien, da ich noch mit dem FileSystemObject arbeite .. ;( Hoffe das hilft Dir weiter. Gruss TP ------------------ [Diese Nachricht wurde von BloodyMess am 27. Jul. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fan-ME10 Mitglied DV-Adminstrator, Konstrukteur
  
 Beiträge: 543 Registriert: 21.08.2001 Erare humanum est
|
erstellt am: 27. Jul. 2005 10:55 <-- editieren / zitieren --> Unities abgeben:         
Hallo BloodyMess, vielen Dank für deine Antworten. Leider klappt das Ganze aus deinem Prog noch nicht so richtig. Einmal muss es in der anderen Richtung gedreht werden und dann schreibt dein Prog eine PNG-Datei! Da du leider die Source nicht gepostet hast, kann ich nicht sehen, woran das liegt. Ausserdem kann die Ausgabe des Progs die bestehende Datei überschreiben. Da ich ein bisschen Programmierkenntnisse habe könnte ich ggf. dein Sourcecode anpassen. ------------------ Gruß Wilfried  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4) AutoCAD Map 2000i / WinNT (SP6)
|
erstellt am: 27. Jul. 2005 11:40 <-- editieren / zitieren --> Unities abgeben:          Nur für Fan-ME10
Hi Wilfried, hast leider recht ... ;( .. es kommt ein png raus ... fehlerbahndlung hab i kaum gemacht richtig dacht, dass es so für Dich reichen wird. Warum hast Dir dann nicht selber ein Prog geschrieben, wenn Du ProgrammierKenntnisse hast?
Code: Module Module1 Sub Main() Dim BMPDat As String Dim waittaste As String Console.WriteLine("Dreht eine BitMap um 90 DEG") Console.WriteLine("---------------------------") Console.WriteLine() Console.Write("EingabePfad der BMPDatei (z.b.: C:\test.bmp) : ") BMPDat = Console.ReadLine() Dim fso As New Scripting.FileSystemObject Dim fil As Scripting.File If fso.FileExists(BMPDat) = True Then ''laden des bitmaps Dim bm As System.Drawing.Bitmap = CType(System.Drawing.Image.FromFile(BMPDat), System.Drawing.Bitmap) bm.RotateFlip(Drawing.RotateFlipType.Rotate90FlipNone) bm.Save("c:\rotate90.bmp") Console.WriteLine("Das gedrehte Bitmap wurde unter 'c:\rotate90.bmp' abgespeichert!") Else Console.WriteLine("Die Datei '" & BMPDat & "' existiert nicht!") End If Console.WriteLine("Taste drücken zum Beenden!") waittaste = Console.Read End Sub End Module
Gruss TP
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fan-ME10 Mitglied DV-Adminstrator, Konstrukteur
  
 Beiträge: 543 Registriert: 21.08.2001 Erare humanum est
|
erstellt am: 27. Jul. 2005 12:09 <-- editieren / zitieren --> Unities abgeben:         
Hallo BloodyMess, so weit her ist's nicht bei mir. Habe mich mehr mit einfachen Programmen befasst. Wenn du mir bitte noch schreibst, wie man die DLL einbindet. Es kommt nämlich noch eine Fehlermeldung, dass Benutzerdefinierte Typen nicht definiert sind. Schätze mal daran liegt's. Oder an meinenm VB6 / SP4 ? Und 90° anders herum drehen wäre dann: bm.RotateFlip (Drawing.RotateFlipType.Rotate270FlipNone) ?? Danke schon auf diesem Wege. ------------------ Gruß Wilfried  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4) AutoCAD Map 2000i / WinNT (SP6)
|
erstellt am: 27. Jul. 2005 12:43 <-- editieren / zitieren --> Unities abgeben:          Nur für Fan-ME10
Hallo Wilfried, Du kannst die Zeilen so abändern ...
Code: bm.RotateFlip(Drawing.RotateFlipType.Rotate270FlipNone) bm.Save("c:\rotate270.bmp", System.Drawing.Imaging.ImageFormat.Bmp)
dann sollte es so funktionieren. Hab die Änderungen nochmal kompiliert. Es sollte nun klappen. Gruss TP ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fan-ME10 Mitglied DV-Adminstrator, Konstrukteur
  
 Beiträge: 543 Registriert: 21.08.2001 Erare humanum est
|
erstellt am: 27. Jul. 2005 13:02 <-- editieren / zitieren --> Unities abgeben:         
Hallo nochmal, Klasse, danke dir!! Jetzt noch statt des Konsolenprogamms, eines mit Kommandozeilenübergabe des Dateinamens (Fenster ist nicht erwünscht) und Überschreiben der Quelldatei. Also: "BMPDat = Command" usw. Dann habe ich alles was ich brauche. :-) Ich möchhte mich jetzt schon herzlich bedanken bei dir! U's sind unterwegs. Übrigens verwendest du, wie ich der EXE-Datei sehen konnte, VB.net und nicht, wie ich, VB6. Daher klappte das nicht mit dem kompilieren bei mir. ------------------ Gruß Wilfried  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4) AutoCAD Map 2000i / WinNT (SP6)
|
erstellt am: 27. Jul. 2005 14:15 <-- editieren / zitieren --> Unities abgeben:          Nur für Fan-ME10
Hallo Wilfried, und das ganze nochmal über die KommandoZeile .. Aufruf : rotateBMP.exe c:\Source.bmp c:\Destination.bmp Gruss TP ------------------ [Diese Nachricht wurde von BloodyMess am 27. Jul. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fan-ME10 Mitglied DV-Adminstrator, Konstrukteur
  
 Beiträge: 543 Registriert: 21.08.2001 Erare humanum est
|
erstellt am: 27. Jul. 2005 14:24 <-- editieren / zitieren --> Unities abgeben:         
|