Stufenlose Größenänderung von Bildern - ECHT Realtime von ???
[code:1:03c1c942b0]
Graphics 800,600,0,2
SetBuffer BackBuffer()

Global temporary=CreateImage(800,600) ;<<<WICHTIG!
Global image =LoadImage("c:eigenesgrafik erminator1.bmp")
ClsColor 0,0,255

While Not KeyHit(1)
x2=x1
y2=y1
x1=MouseX()
y1=MouseY()
If x1<>x2 Or y1<>y2 Then
Cls
drawscaled image,BackBuffer(),0,0,x1,y1
Flip
EndIf
Wend

WaitKey()
FreeImage temporary
FreeImage image
End


;---------------------------------------------------------------------
Function drawscaled(src,dest,x,y,width,height)
src_width =ImageWidth (src)
src_height =ImageHeight(src)
src_buffer =ImageBuffer(src)
tmp_buffer =ImageBuffer(temporary)
div_x# =Float#(src_width) /Float#(width)
div_y# =Float#(src_height)/Float#(height)
If width=0 Or height=0 Or src_width=0 Or src_height=0 Then Return

For i=0 To width-1
CopyRect i*div_x#,0,1,src_height,i,0,src_buffer,tmp_buffer
Next

For i=0 To height-1
CopyRect 0,i*div_y#,width,1,x,y+i,tmp_buffer,dest
Next
End Function
[/code:1:03c1c942b0]

PS: Bild darf nicht größer als Fenster sein
===
von ???
Bin ich der einzige, der was dazu schreibt? Geiler Code!
===
von ???
Verdammt schnell. Wirklich gut...
===
von ???
Gut...aber normal, oder? Danke.
===
von ???
Hi....

jo... der Code hat was.
===
von ???
Hi!
Hey cool! Damit könnte ich vieleicht bei meinem Projekt die
diese hässliche Verwischung entfernen.
Sau schnell!
mfg olli
===
von ???
schließe mich an.

Der Code ist wirklich gut und sehr schnell ! Kann man gut gebrauchen !

cu

netmaster
===
von ???
ja ich komm so auf 40 fps im vollbild
===
von ???
jau, echt coool!
damit dauert das laden bei meinem projekt bestimmt nur halb so lange...

@freax:
[quote:3f530e842c="Freax"]Hi!
Hey cool! Damit könnte ich vieleicht bei meinem Projekt die
diese hässliche Verwischung entfernen.
Sau schnell!
mfg olli[/quote:3f530e842c]

was für verwischungen?
vielleich hilft ja "tformfilter 0" :D
===
von ???
Hi!
[quote:5a3a480e50]
was für verwischungen?
vielleich hilft ja "tformfilter 0"
[/quote:5a3a480e50]
Ja in 2D ist das ja auch korrekt, aber in 3D nicht.
Um es mal kurz zu erklähren:
ich habe eine Plain die mit einer 256 mal 256 großen Textur
texturiert ist. ich brauche aber nur ein Bild von 160 * 144
Texel größe. Übergebe ich an die Plain die UV Werte 0,0 1,0 0,1 und 1,1
so würde ich die restlichen Pixel auch sehen. Übergebe ich aber die UV Koordinaten so, das nur das 160 * 144 Texe große Bild angezeigt
wird, so skaliert DirectX die Textur, und macht eigenständig
eine Verwischung mit rein, so das es nicht mehr Pixel für Pixel
skaliert wird. (nent man glaube ich pointsampling oder so).
Naja und um diesen Effekt zu korrigieren, muss ich in realtime
das 160 * 144 große Bild auf 256 mal 256 skalieren, damit das ganze
schön pixelig aussieht. Somit muss DirectX die Textur nicht skalieren,
und macht mir keinen Verwischeffekt rein.
mfg olli
===
von ???
[ot]
achso
[/ot]
===
pseudo-setup von ???
kann jemand mit xp mal diese Variation von TheShadow testen? Danke!

[code:1:a93378c20d]
Graphics 1024,768,16,1

windowsverzeichnis$= SystemProperty$("WINDOWSDIR")
Global bild = LoadImage(windowsverzeichnis$ +"setup.bmp")
Global frei = CreateImage(1024,768)

SetBuffer BackBuffer()
ClsColor 0,0,64
MoveMouse ImageWidth(bild),ImageHeight(bild)

While Not KeyHit(1)
x2=x1: x1=MouseX()
y2=y1: y1=MouseY()
If x1<>x2 Or y1<>y2 Then Cls:SKALIERUNG bild,BackBuffer(),0,0,x1,y1:Flip
Wend

WaitKey()

FreeImage frei
FreeImage bild

End



Function SKALIERUNG(quelle,ziel,x,y,bz,hz)
ba=ImageWidth (quelle)
ha=ImageHeight(quelle)
qbuffer=ImageBuffer(quelle)
fbuffer=ImageBuffer(frei)
xfaktor# =Float#(ba)/Float#(bz)
yfaktor# =Float#(ha)/Float#(hz)
If bz=0 Or hz=0 Or ba=0 Or ha=0 Then Return

For i=0 To bz-1: CopyRect i*xfaktor#, 0, 1,ha,i, 0,qbuffer,fbuffer: Next
For i=0 To hz-1: CopyRect 0,i*yfaktor#,bz, 1,x,y+i,fbuffer, ziel : Next
End Function
[/code:1:a93378c20d]
===
von ???
[quote:edb307fc6d]kann jemand mit xp mal diese Variation von TheShadow testen? Danke! [/quote:edb307fc6d]

ob du xp, 2k, me, se oder sonstwas hast
ist völlig egal. Wichtig ist nur DirectX
und GrakaTreiber. Wieso soll das
jemand für dich testen ?
===
xp-test von ???
ganz einfach:

weil ich nicht wusste, ob xp eine datei "setup.bmp" im windows-verzeichnis hat...
===
von ???
dafür gibts aber ne suchfunktion in windows.
außerdem ist das setup-bild glaube ich keine
bmp,png oder jpg-datei...
===
von ???
Finde ich gut, das Ding! Ich hab jetzt nur die ganz obn gepostete Urversion probiert.

Viele Grüße,
Thomas



Suche:
(unterstützt mySQL Wildcards ala %)
Titel:
Text:
Autor: