Problem mit Scalen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

f L i P

Betreff: Problem mit Scalen

BeitragSa, Apr 30, 2005 13:15
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Wink

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!

Ironstorm

Erstklassiger Contest-Veranstalter

BeitragSa, Apr 30, 2005 13:27
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Apr 30, 2005 13:31
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Very Happy
MfG fLiP
mir egal wer dein Vater ist- solange ich hier am angeln bin wird nicht über's wasser gelaufen!

simi

BeitragSa, Apr 30, 2005 13:31
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Apr 30, 2005 13:35
Antworten mit Zitat
Benutzer-Profile anzeigen
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!

Ironstorm

Erstklassiger Contest-Veranstalter

BeitragSa, Apr 30, 2005 13:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey simi gute Idee! Aber des geht dann halt auf die Speichkosten (Festplattespeicher). Aber es hält die Geschwindigkeit.
 

f L i P

BeitragSa, Apr 30, 2005 13:39
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Apr 30, 2005 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn du eine windowsartige oberfläche proggen willst,
dann nimm doch eine feste auflösung z.B. 1280x1024. Wink

Triton

BeitragSa, Apr 30, 2005 15:35
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Apr 30, 2005 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Apr 30, 2005 18:27
Antworten mit Zitat
Benutzer-Profile anzeigen
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!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group