Français
Forum

Bild maximum sur Druckseite einpassen avec qui Aspectratio

 

Rainer
Hoefs
allô zusammen,
je besoin la fois wieder Aider qui Community.

malheureusement doit je auparavant quelque chose ausholen.
Dabei benutze je im Folgenden cet Begriffe:

Teppichdesign = ist qui Bitmap avec dem Muster
Teppichgröße = qui reaele Teppichgröße dans cm
Druckseite = lt. Profan 680 X 960 Punkte. (6800 X 9600 interne)

qui Pixelmaße des Teppichdesigns (z.B. 771x / 1221y) avons rien avec qui Teppichgröße trop 1faire, qui dans diesem Beispiel 200 * 300 cm son soll cela hängt simple de qui Webmaschine et qui Webdichte ab.

je lade cela Teppichdesign dans un «PCSI.Teppichdesign" et berechne sur verschiedenen Vergleichskriterien entre qui "Aspectratio.Teppichdesign trop Aspectratio.Teppichgröße" qui Taille eines neuen «PCSI.Teppichgröße" dans qui cela «PCSI.Teppichdesign" avec "DrawSizedPic" hineingeschrieben wird. Dabei wird grundsätzlich niemals le nombre qui X ou bien Y vom Teppichdesign verkleinert, mais seulement une qui beiden Dimensionen, X ou bien Y, vergrößert, avec cela es niemals trop perte de Bildpunkten, Bildqualität venez. cela klappt alles wunderbar. qui «PCSI.Teppichgröße" hat alors oui c'est ca cela Seitem-Längenverhältnis qui Teppichmaße cm.

eh bien voudrais je qui récente erstellte Bitmap avec qui richtigen "Aspectratio.Teppichgröße" sur einer Druckseite eines beliebigen Druckers so ausdrucken, cela cet maximum seitenfüllend sous Berücksichtigung qui "Aspectratio.Teppichgröße" sur cela papier venez. et oui c'est ca cela bekomme je es simple pas hin.

qui Procédure, la mienne Maße pour qui Bitmap avec qui richtigen Teppichgröße berechnet devrait eigentlich aussi pour cet Berechnung marcher. vous empfängt 4 paramètre, qui Teppichbreite cm = "CarpetWidth%", Teppichhöhe cm = "CarpetHeight%", Designbreite pix = "DesignWidth%", Designhöhe pix = "DesignHeight%.

j'ai déjà probiert pas qui Teppichgröße cm x cm mais qui 680 X 960 Pixel qui Profan benutzt ou bien qui internen 6800 X 9600 internen Pixel de Profan einzusetzen.

Weiterhin habe je es avec den echten möglichen Druckerpixel pro page probiert qui avec:
HorzSize& = ~GetDeviceCaps(&PDC, ~HORZSIZE)
VertSize& = ~GetDeviceCaps(&PDC, ~VERTSIZE)
ausgelesen volonté.

Alles hat keinen Erfolg gebracht. eh bien sais je pas plus plus. je hoffe es einigermaßen verständlich beschrieben trop avons.

peut-être kennt quelqu'un une Solution.

merci déjà la fois im Voraus.
 $H Windows.ph
Déclarer Design2Load$, Design2Write$, NewFileName$, Save2FileName$, OriginalDesign&, File2Convert&
Déclarer PictureWidth%, PictureHeight%, CarpetWidthCM%, CarpetHeightCM%, A%, B%, C%, D%, HorzSize&, VertSize&

Proc CalculatePictureSize

    Paramètres CarpetWidth%, CarpetHeight%, DesignWidth%, DesignHeight%
    Déclarer DesignAspect!, CarpetAspect!, Mode$
    CarpetAspect! = (CarpetWidth% / CarpetHeight%)
    DesignAspect! = (DesignWidth% / DesignHeight%)

    Si CarpetAspect! < 1'Hoch

        Si DesignAspect! < 1'Hoch

            Si CarpetAspect! < DesignAspect!

                Mode$ = "01"
                PictureWidth% = DesignWidth%
                PictureHeight% = ((DesignWidth% / CarpetWidth%) * CarpetHeight%)

            ElseIf CarpetAspect! = DesignAspect!

                Mode$ = "02"
                PictureWidth% = DesignWidth%
                PictureHeight% = DesignHeight%

            ElseIf CarpetAspect! > DesignAspect!

                Mode$ = "03"'OK
                PictureWidth% = ((DesignHeight% / CarpetHeight%) * CarpetWidth%)
                PictureHeight% = DesignHeight%

            EndIf

        ElseIf DesignAspect! > 1'Quer

            Si CarpetAspect! < DesignAspect!

                Mode$ = "04"
                PictureWidth% = DesignWidth%
                PictureHeight% = ((DesignWidth% / CarpetWidth%) * CarpetHeight%)

            EndIf

        EndIf

    ElseIf CarpetAspect! = 1'Quadrat

        Si DesignAspect! < 1'Hoch

            Mode$ = "05"
            PictureWidth% = DesignHeight%
            PictureHeight% =  DesignHeight%

        ElseIf DesignAspect! = 1'Quadrat

            Mode$ = "06"
            PictureWidth% = DesignWidth%
            PictureHeight% = DesignHeight%

        ElseIf DesignAspect! > 1'Quer

            Mode$ = "07"
            PictureWidth% = DesignWidth%
            PictureHeight% =  DesignWidth%

        EndIf

    ElseIf CarpetAspect! > 1'Quer

        Si DesignAspect! < 1'Hoch

            Si CarpetAspect! < DesignAspect!

                Mode$ = "08"
                PictureWidth% = DesignWidth%
                PictureHeight% = ((DesignWidth% / CarpetWidth%) * CarpetHeight%)

            ElseIf CarpetAspect! = DesignAspect!

                Mode$ = "09"
                PictureWidth% = DesignWidth%
                PictureHeight% = DesignHeight%

            ElseIf CarpetAspect! > DesignAspect!

                Mode$ = "10"'OK
                PictureWidth% = ((DesignHeight% / CarpetHeight%) * CarpetWidth%)
                PictureHeight% = DesignHeight%

            EndIf

        ElseIf DesignAspect! > 1'Quer

            Si CarpetAspect! < DesignAspect!

                Mode$ = "11"
                PictureWidth% = DesignWidth%
                PictureHeight% = ((DesignWidth% / CarpetWidth%) * CarpetHeight%)

            ElseIf CarpetAspect! = DesignAspect!

                Mode$ = "12"
                PictureWidth% = DesignWidth%
                PictureHeight% = DesignHeight%

            ElseIf CarpetAspect! > DesignAspect!

                Mode$ = "13"
                PictureWidth% = ((DesignWidth% / CarpetHeight%) * DesignHeight%)
                PictureHeight% = DesignHeight%

            EndIf

        EndIf

    EndIf

ENDPROC

Fenêtre 100, 10 - 1700, 1000
Design2Load$ = LoadFile$(%hwnd, "Datei zum konvertieren magasin...","Designs|*.APF;*.BMP;*.JPG;*.PNG;*.GIF",0)'Design auswählen

Si Design2Load$ <> »

    OriginalDesign& = Créer («PCSI», -1, Design2Load$, 0)'Bitmap avec Originaldesign erstellen
    DrawPic OriginalDesign&, 1, 1; 0'Originaldesign Montrer
    CarpetWidthCM% = Contribution$("CarpetWidth cm: ", "100", 1)'Tepichbreite abfragen
    CarpetHeightCM% = Contribution$("CarpetHeight cm: ", "100", 1)'Tepichlänge abfragen
    CalculatePictureSize CarpetWidthCM%, CarpetHeightCM%, %bmpx, %bmpy'Neue Designgröße berechnen
    File2Convert& = Créer ("hSizedPic",-1, Design2Load$, PictureWidth%, PictureHeight%, 0)'Design dans qui neuen Taille erstellen
    CLS
    DrawPic File2Convert&, 1, 1; 0'Design avec neuer Taille Montrer
    NewFileName$ = SaveFile$(%hwnd, "Speichere Design comme...", "PNG-Dossier (*.PNG)|*.PNG|JPEG-Dossier (*.JPG)|*.JPG|BMP-Dossier (*.BMP)|*.BMP", 1)

    Si NewFileName$ <> »

        SavePic NewFileName$, File2Convert&'Design avec neuer Taille comme BMP, PNG, JPG Sauver

    EndIf

    Si MessageBox ("Soll cela Design gedruckt volonté?", "DRUCKEN", 292) = 6

        StartPrint "* " + NewFileName$

        Si %printing

            DrawSizedPic File2Convert&, 0, 0, %bmpx/2, %bmpy/2; 0
            EndPrint

        EndIf

    EndIf

    DeleteObject File2Convert&'cela objet effacer
    DeleteObject OriginalDesign&'cela objet effacer

EndIf

Fin
 
23.02.2018  
 




H.Brill
Verwende la fois Créer("hSizedPic",...) avec dem
letzten Paraemeter Modus avec 1.

cela devrait doch cela Bild sous Berücksichtigung qui
Seitenverhältnisse korrekt einpassen.

Aussi serait je chez qui Druckseite encore qui
Seitenränder abziehen. là hat qui Druckertreiber
mir aussi déjà Streiche avec mir gemacht.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
24.02.2018  
 




Rainer
Hoefs
allô H Brill,
qui Bitmap qui zum Drucker envoyé wird hat bereits qui richtigen Dimensionen le son TeppichgrößeCM.

cet gilt es dans dem Druckbereich einer Druckseite richtig einzupassen.

Sollte ensuite dein Vorschlag entre Starprint et Endprint passer?
sur quoi berechne je ensuite qui Ausgabe sur qui 680 960 ou bien 6800 9600 ou bien sur qui sur GetDeviceCaps errechneten möglichen Druckerpixel?

Verstehe es so pas wirklich.

MfG
 
24.02.2018  
 




H.Brill
bof, si je qui 680 par 21 (Breite eines Blatt Papieres)
teile, viens je sur etwa 32 Druckerpixel pro cm. cela gleiche
venez aussi chez qui Hauteur eines Blattes raus. là serait je
ca. 35 Pixel pro rebord abziehen.

quoi qui Dimensionierung betrifft :

Créer("hSizedPic",...) pouvoir cela doch pour toi, égal comment
grand qui Bitmap comme Dossier ist. cela wird prozentual ensuite
eingepaßt. cela peux du alors déjà beim magasin qui Bitmap
. Assurez-

alors, je serait là la fois quelque chose anders tour aller. Mach doch
la fois un hPic avec 680 -70, 960 -70 . cela Bild malst du sur une
Leinwand, alors
Static& = Créer("Static",%HWnd, 680, 960)
à Position 35, 35.
bon alors avec
Début de peinture Static&
DrawPic Bitmaphnadle, 35, 35, ....
EndPaint
sur elle zeichnen. là es oui seulement une page ist, serait je cela
ensuite avec WinCopy Static& drucken.

Wäre aussi la fois une Possibilité.

si gewünscht ist, cela Staticfenster pas trop voyons, peux
on es oui pour dem Erstellen avec ShowWindow verstecken.
et pour dem Druck simple wieder avec DestroyWindow
cela Static wieder freigeben.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
24.02.2018  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

4.511 Views

Untitledvor 0 min.
Sebald Grandjean vor 20 Tagen
Stringray05.01.2022
iF31.10.2020
Thomas Zielinski29.08.2019
plus...

Themeninformationen

cet Thema hat 2 participant:

H.Brill (2x)
Rainer Hoefs (2x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie