ImageFillRect()

Oletko tehnyt jotain, mistä muut voisivat hyötyä. Postita vinkit tänne.
Post Reply
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

ImageFillRect()

Post by MaGetzUb »

ImageFillRect on funktio, jolla voit piirtää yhtäkuvaa haluamasi kokoiselle alueelle.
Parametrit: Kuvamuuttuja, X-Akseli, Y-Akseli, Leveys, Korkeus.

Funktio:

Code: Select all

Function ImageFillRect(img, x, y, w, h)
    iw = ImageWidth(img)
    ih = ImageHeight(img)
    For ix = 0 To w / iw
        For iy = 0 To h / ih
            DrawImageBox img, x+ix*iw, y+iy*ih, 0, 0, (w - ix*iw), (h - iy*ih)
        Next iy
    Next ix
EndFunction
Esimerkki koodi:

Code: Select all

SCREEN 800, 600

img = LoadImage("Media\Grass.BMP")
Repeat 
    
    ImageFillRect(img, 400, 300, MouseX(), MouseY())

DrawScreen
Forever 


Function ImageFillRect(img, x, y, w, h)
    iw = ImageWidth(img)
    ih = ImageHeight(img)
    For ix = 0 To w / iw
        For iy = 0 To h / ih
            DrawImageBox img, x+ix*iw, y+iy*ih, 0, 0, (w - ix*iw), (h - iy*ih)
        Next iy
    Next ix
EndFunction
Last edited by MaGetzUb on Thu Aug 04, 2011 6:34 pm, edited 7 times in total.
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
User avatar
Ruuttu
Devoted Member
Posts: 688
Joined: Thu Aug 30, 2007 5:11 pm
Location: Finland, Sipoo

Re: ImageFillRect()

Post by Ruuttu »

Kutsut esimerkkikoodin loopissa väärää funktiota. Muuten ihan hieno ja toimii nopeasti.
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: ImageFillRect()

Post by MaGetzUb »

Ruuttu wrote:Kutsut esimerkkikoodin loopissa väärää funktiota. Muuten ihan hieno ja toimii nopeasti.
Ohoh, joo vaihdoinkin ekassa postauksessa tuon funktion nimen. Yleensä semmoisia päähänpistoja tulee. :D Mutta joo vaihdanpa sen nyt oikeaksi. :)
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
Henkru
Advanced Member
Posts: 359
Joined: Sun Aug 26, 2007 2:46 pm

Re: ImageFillRect()

Post by Henkru »

Kuvan korkeus ja leveys kannattee ottaa alussa suoraan talteen. Säästyttäisiin turhilta funktiokutsuilta.
Post Reply