| |
|
|
Bernd Krauss | Hi, with one expression with Prospeed.DLL is the pressure plenty To small. If I around the factor 10 erhöhe, then works it with manchen Printers, on other computer crashes it ex. on the screen becomes the image correctly. displayed. here's the code for procedure. it'll the image = BDatei$ The Coordinates = Bx&, By& The desired wide and Höhe = BreitX&, BreitY& and whether printed go should = Drk% übermittelt. can someone help? CompileMarkSeparation
Proc BildAnz
parameters BDatei$, Bx&, By&, BreitX&, BreitY&, Drk%
declare BQuelle&, BBreite&, BHoehe&, neubreit&, neuhoch&
declare neubreitx&, neuhochy&, DrkKlein&, DrkBild&
declare Faktor%
let Faktor% = 10
BQuelle&=LoadExtImage(addr(BDatei$))
ifnot equ(BQuelle&,0)
BBreite& = GetBmpWidth(BQuelle&) Breite und Hoehe des Bilds
BHoehe& = GetBmpHeight(BQuelle&) ermitteln
messagebox(Str$(BBreite&),Str$(BHoehe&),0)
if gt(BBreite& / BHoehe& , BreitX& / BreitY&)
neubreit& = BreitX&
neuhoch& = BHoehe&/BBreite&*neubreit&
else
neuhoch& = BreitY&
neubreit& = BBreite&/BHoehe&*neuhoch&
endif
if drk%
let neuhoch& = neuhoch& * Faktor%
let neubreit& = neubreit& * Faktor%
DrkKlein&=CreateExtBmp(%HDC,neubreit&,neuhoch&)
SizeExtBmp (DrkKlein&,0,0,neubreit&,neuhoch&,BQuelle&,0,0,BBreite&,BHoehe&,0)
DrkBild&=CreateExtBmp(%HDC,neuhoch&,neubreit&)
Die automatische Zentrierung beim Rotieren ausgleichen
If neubreit&>=neuhoch&
neubreitx&=(neubreit&-neuhoch&)/2
Else
neubreitx&=(neuhoch&-neubreit&)/2
EndIf
neuhochy&=neubreitx&
Case neubreit&>neuhoch&:neubreitx&=-neubreitx&
Case neuhoch&>neubreit&:neuhochy&=-neuhochy&
RotateExtBmp(DrkBild&,neubreitx&,neuhochy&,neubreit&,neuhoch&,DrkKlein&,0,0,90,0)
let Bx& = Bx& * Faktor%
let By& = By& * Faktor%
CopyExtBmp(%hdc,Bx&,By&,neuhoch&,neubreit&,DrkBild&,0,0,0)
else
SizeExtBmp (%hdc,Bx&,By&,neubreit&,neuhoch&,BQuelle&,0,0,BBreite&,BHoehe&,0)
endif
endif
FreeAllExtBmps()
='./../../Function-References/XProfan/endproc/'>endproc
|
|
|
| |
|
|
|
Frank Abbing | Please a lauffähigen Demoquellcode post. here can I nirgendwo discern, How your expression vostatten weg should. too The indicated your Profanversion would of benefit.
Nachtrag of iF: [tb]minimalbeispiel[/tb] |
|
|
| |
|
|
|
Bernd Krauss | Hello Frank, many Thanks for rapid response. here's the lauffähige View source, entschuldige Please, I coming not former moreover. prerequisite is the Prospeed.dll and a Image namens "alf.jpg" in the Programmverzeichnis. I have the from the Prospeed.dll as jpg-File taken. If to the Program launch, sees one, the image becomes correctly on screen displayed, becomes but To small and on falser place printed. The Parameter drk% in the procedure Bildanz game in this Programmbeispiel no role. Perhaps is the procedure indeed plenty To tricky program. it should a JPG-File at a best. place into rectangle eingepasst and circa 90 strain turned go. Profanversion is XProfan 10 greetings Bernd Krauss here means the lauffähige View source: CompileMarkSeparationdeclare neudll&, Antw%
DEF LoadExtImage(1) !"ProSpeed","LoadExtImage"
DEF SizeExtBmp(11) !"ProSpeed","SizeExtBmp"
DEF CreateExtBmp(3) !"ProSpeed","CreateExtBmp"
DEF RotateExtBmp(10) !"ProSpeed","RotateExtBmp"
DEF CopyExtBmp(9) !"ProSpeed","CopyExtBmp"
DEF GetBmpWidth(1) !"ProSpeed","GetBmpWidth"
DEF GetBmpHeight(1) !"ProSpeed","GetBmpHeight"
DEF FreeAllExtBmps(0) !"ProSpeed","FreeAllExtBmps"
neudll&=usedll("ProSpeed.dll")
Proc BildAnz
parameters BDatei$, Bx&, By&, BreitX&, BreitY&, Drk%
declare BQuelle&, BBreite&, BHoehe&, neubreit&, neuhoch&
declare neubreitx&, neuhochy&, DrkKlein&, DrkBild&
BQuelle&=LoadExtImage(addr(BDatei$))
ifnot equ(BQuelle&,0)
BBreite& = GetBmpWidth(BQuelle&) Breite und Hoehe des Bilds
BHoehe& = GetBmpHeight(BQuelle&) ermitteln
Es wird geprüft, ob an Breite oder Höhe angepasst wird
if gt(BBreite& / BHoehe& , BreitX& / BreitY&)
neubreit& = BreitX&
neuhoch& = BHoehe&/BBreite&*neubreit&
else
neuhoch& = BreitY&
neubreit& = BBreite&/BHoehe&*neuhoch&
endif
DrkKlein&=CreateExtBmp(%HDC,neubreit&,neuhoch&)
SizeExtBmp (DrkKlein&,0,0,neubreit&,neuhoch&,BQuelle&,0,0,BBreite&,BHoehe&,0)
DrkBild&=CreateExtBmp(%HDC,neuhoch&,neubreit&)
Die automatische Zentrierung beim Rotieren ausgleichen
If neubreit&>=neuhoch&
neubreitx&=(neubreit&-neuhoch&)/2
Else
neubreitx&=(neuhoch&-neubreit&)/2
EndIf
neuhochy&=neubreitx&
Case neubreit&>neuhoch&:neubreitx&=-neubreitx&
Case neuhoch&>neubreit&:neuhochy&=-neuhochy&
RotateExtBmp(DrkBild&,neubreitx&,neuhochy&,neubreit&,neuhoch&,DrkKlein&,0,0,90,0)
CopyExtBmp(%hdc,Bx&,By&,neuhoch&,neubreit&,DrkBild&,0,0,0)
endif
FreeAllExtBmps()
endproc
cls
rectangle 100 , 100 , 300, 400
BildAnz "alf.jpg" , 100 , 100 , 300, 200 , 0
let Antw%=messagebox ("Willst du drucken?", "Druck?", 4)
if Antw%=6
cls
startprint
rectangle 100 , 100 , 300, 400
BildAnz "alf.jpg" , 100 , 100 , 300, 200 , 1
endprint
endif
FreeAllExtBmps()
freedll eudll&
end
|
|
|
| |
|
|
|
Frank Abbing | alas Yes, I see, what you mean. explain can I it to you but not. becomes a interne Profan-printer-HDC story his. ProSpeeds CopyExtBmp() is Yes only one Calling the API BitBlt(). and the functions too wrong, habs ausgetestet and thereby all Schnickschnack omitted. it's located means not on the Dll. If Roland that here liessst, becomes it sure what moreover say can. otherwise must You it time directly kontakten. |
|
|
| |
|
|
|
RGH | Hi,
API-functions heading XProfan fundamentally unchanged moreover. API-functions go means fundamentally "auf Own Gefahr" there akin. at that Print is To mind, that the Druckseite in the Normalfall around the factor 10 larger is, as The Coordinates- and has info in XProfan. any Koordinatenangaben and has info at Print through the API are therefore circa this factor To multiplizieren. (ex XProfan 10 can whom factor through of/ one Set-function take on and through of/ one Get-function read. Particulars see Help.)
Greeting Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 02/14/07 ▲ |
|
|
|
|
Bernd Krauss | Hello Roland, many Thanks for speedy Info. with the factor 10 goes it. The "Absturz", from the I initially wrote has aufgeklärt: with the factor 10 lasts The Berechnung for pressure on my middle-aged P III 600 such a long time, I always thought, PC be abgestürzt. That the Set and Get-function have I though withal studies the XProfan 10 Help not understood. which Set-function should I take and which Syntax? and with which Get function should I what read? I have simply The Coordinates Bx& and By& and neubreit& and neuhoch& with 10 multipliziert. is the too ok? greetings Bernd |
|
|
| |
|
|
|
RGH | Bernd Krauss
That the Set and Get-function have I though withal studies the XProfan 10 Help not understood. which Set-function should I take and which Syntax? and with which Get function should I what read?
large SORRY! there have I very these Set-function in the Help forget:
with @Set("PrintRes", n%) can whom factor change. Wennn You for n% the value 1 take, ought to it of course functions, without that You whom factor in Your Program einbaust, but the expression might then something grobkörnig his, there only with about 80dpi (20 cm = ca. 8 inch. 640 spots on 8 inch power even 80 spots/inch) printed becomes. The Druckauflösung corresponds to then means about 3 spots/mm. If the reicht, about for Farb-photos, is the The simplest Solution. with Liniengrafiken could then though Treppchen To see his. (in the Standardeinstellung with factor 10 corresponds to The Druckauflösung about 800dpi ... circa there Treppchen To see, need it already a Laserdrucker, thin diaogonale lines and a good Lupe.)
with @Get("PrintRes") can the tuned worth read go.
Greeting Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 02/15/07 ▲ |
|
|
|
|
| RGH
large SORRY! there have I very these Set-function in the Help forget:
| |
|
|
|
| |
|
|