Problem mit Scalen
Übersicht
BlitzBasic
Allgemein
f L i PBetreff: Problem mit Scalen |
Antworten mit Zitat |
|
|---|---|---|
|
Ja Hallo erstmal,
ich bin dabei eine Windowsähnlche Oberfläche zu gestalten, nun bin ich dabei das Scalen von Images zu "meistern". Um das zu machen hab ich einfach eine neue Datei angelegt, die ich hier jetzt ganz poste. Meine Frage dazu ist nun wie ich das nun machen soll, entweder so wie ich es versucht habe jedes Image zu scalen oder aber TileBlock in einer Area anzuwenden, wie das zu machen ist weiß ich allerdings nicht. Nunja vielleicht versteh Jemand mein Problem Code: [AUSKLAPPEN] Graphics 640,480,32,1
SetBuffer BackBuffer() ;********************************** Global w_o_l=LoadImage("w_o_l.jpg") Global w_o_m=LoadImage("w_o_m.jpg") Global w_o_r=LoadImage("w_o_r.jpg") Global w_u_l=LoadImage("w_u_l.jpg") Global w_u_m=LoadImage("w_u_m.jpg") Global w_u_r=LoadImage("w_u_r.jpg") Global w_l_n=LoadImage("w_l_n.jpg") Global w_r_n=LoadImage("w_r_n.jpg") ;********************************** Global wol_w=ImageWidth(w_o_l) Global wom_w=ImageWidth(w_o_m) Global wor_w=ImageWidth(w_o_r) Global wln_w=ImageWidth(w_l_n) ;********************************** Global wul_w=ImageWidth(w_u_l) Global wum_w=ImageWidth(w_u_m) Global wur_w=ImageWidth(w_u_r) Global wrn_w=ImageWidth(w_r_n) ;********************************** Global wol_h=ImageHeight(w_o_l) Global wom_h=ImageHeight(w_o_m) Global wor_h=ImageHeight(w_o_r) Global wln_h=ImageHeight(w_l_n) ;********************************** Global wul_h=ImageHeight(w_u_l) Global wum_h=ImageHeight(w_u_m) Global wur_h=ImageHeight(w_u_r) Global wrn_h=ImageHeight(w_r_n) ;********************************** wln_h=100 wrn_h=100 wom_w=200 wum_w=200 ;********************************** While Not KeyHit(1) ResizeImage w_l_n,wln_w,wln_h ResizeImage w_r_n,wrn_w,wrn_h ResizeImage w_l_n,wln_w,wln_h ResizeImage w_r_n,wrn_w,wrn_h ResizeImage w_o_m,wom_w,wom_h ResizeImage w_u_m,wum_w,wum_h ResizeImage w_o_m,wom_w,wom_h ResizeImage w_u_m,wum_w,wum_h Cls DrawBlock w_o_l ,0 ,0 DrawBlock w_o_m ,wol_w ,0 DrawBlock w_o_r ,wol_w+wom_w ,0 DrawBlock w_u_l ,0 ,wol_h+wln_h DrawBlock w_u_m ,wol_w ,wol_h+wln_h DrawBlock w_u_r ,wol_w+wom_w ,wol_h+wln_h DrawBlock w_l_n ,0 ,wol_h DrawBlock w_r_n ,wol_w+wom_w ,wor_h ;********************************** If KeyDown(200) wln_h=wln_h-3 wrn_h=wrn_h-3 EndIf If KeyDown(208) wln_h=wln_h+3 wrn_h=wrn_h+3 EndIf If KeyDown(203) wom_w=wom_w-3 wum_w=wum_w-3 EndIf If KeyDown(205) wom_w=wom_w+3 wum_w=wum_w+3 EndIf ;********************************** If wln_h<100 wln_h=100 If wom_w<200 wom_w=200 If wrn_h<100 wrn_h=100 If wum_w<200 wum_w=200 ;********************************** Flip Wend End MfG fLiP |
||
| mir egal wer dein Vater ist- solange ich hier am angeln bin wird nicht über's wasser gelaufen! | ||
|
|
IronstormErstklassiger Contest-Veranstalter |
Antworten mit Zitat |
|---|---|---|
| Also ich habe keine ahnung wie das funzt aber mit Scaleimage oder resizeimage verbrauchst du ziemlich viel speed. Den diese Befehle sind Ar*** langsam. | ||
f L i P |
Antworten mit Zitat |
|
|---|---|---|
|
Genau das ist das Problem, ich hab Resizeimage benutzt weil es nicht Prozentual errechnet werden soll, und das haut dermaßen mein Pc in die Knie das ich schon verzweifle
P.S. Also das Problem haste erkannt MfG fLiP |
||
| mir egal wer dein Vater ist- solange ich hier am angeln bin wird nicht über's wasser gelaufen! | ||
|
|
simi |
Antworten mit Zitat |
|---|---|---|
|
Und in diesem Code sollen wir durchblicken??
Da weisst du ja wohl selber kaum, für was welche Varaibel ist..... Sonst bei GUIs, kann man irgendwie 1000 Pixel lange Bilder machen, und dann nur die benötigte Länge mit DrawImageRect zeichen.... (So wirds glaube ich auch bei MirageX gemacht) |
||
f L i P |
Antworten mit Zitat |
|
|---|---|---|
|
Das scheint auch ne Lösung zu sein, danke für die antworten, und jetzt mal zu meinem code, w_o_l /// w_o_m /// w_o_r steht für 3 bilder oberhalb, w_u_l /// w_u_m /// w_u_r unten und w_r_n /// w_l_n für die beiden Seiten ...
MfG fLiP |
||
| mir egal wer dein Vater ist- solange ich hier am angeln bin wird nicht über's wasser gelaufen! | ||
|
|
IronstormErstklassiger Contest-Veranstalter |
Antworten mit Zitat |
|---|---|---|
| Hey simi gute Idee! Aber des geht dann halt auf die Speichkosten (Festplattespeicher). Aber es hält die Geschwindigkeit. | ||
f L i P |
Antworten mit Zitat |
|
|---|---|---|
|
Dann werd ich jetzt meinen Code in die Tonne kloppen, meine Picz entsprechend ändern und nen Neuanfang starten, scheint wirklich der einzigmögliche realisierbare Vorschlag zu sein
fLiP |
||
| mir egal wer dein Vater ist- solange ich hier am angeln bin wird nicht über's wasser gelaufen! | ||
|
|
Devils Child |
Antworten mit Zitat |
|---|---|---|
|
wenn du eine windowsartige oberfläche proggen willst,
dann nimm doch eine feste auflösung z.B. 1280x1024. |
||
|
|
Triton |
Antworten mit Zitat |
|---|---|---|
|
Nicht verzagen, das Codearchiv fragen:
http://www.silizium-net.de/bbcodeb6.htm Im blitzforum-codearchiv gibts aber sicher auch was. |
||
| Coding: silizium-net.de | Portfolio: Triton.ch.vu | ||
f L i P |
Antworten mit Zitat |
|
|---|---|---|
|
Ich hab mir jetzt den DrawImageRect durchgelesen und komm ohne Probleme zurecht, muss es allerdings noch mit dem bewegen eines Fensters koppeln, aber das wird auch schon werden.
MfG fLiP |
||
| mir egal wer dein Vater ist- solange ich hier am angeln bin wird nicht über's wasser gelaufen! | ||
f L i P |
Antworten mit Zitat |
|
|---|---|---|
|
So, nun bin ich soweit das ich ein Fenster verschieben kann ohne bei hohem Tempo zu entfliehen und dem Maus-Scale, dass wenn ich auf dem unteren rechten Rand bin Scalen kann. Nur das die Maus stehen bleiben soll sobald einer Variablen entspricht, das will nicht so recht. Ich hab es folgender Maßen versucht.Code: [AUSKLAPPEN] If mx=x+100 movemouse x+100,MouseY() Else movemouse MouseX(),MouseY()
Problem selbst gelöst MfG fLiP |
||
| mir egal wer dein Vater ist- solange ich hier am angeln bin wird nicht über's wasser gelaufen! | ||
Übersicht
BlitzBasic
Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group
