Malprogramm

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

mk

Betreff: Malprogramm

BeitragSa, März 05, 2005 12:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich möchte ein Malprogramm proggen.
Wenn man die linke Maustaste gedrückt hält, soll das programm einen weissen Punkt an MouseX und MouseY zeichnen.
Damit soll man malen, es soll aber immer ein roter punkt an mx und my sein, mit dem man nicht malt.

Wisst ihr was ich meine?
Ich hoffe ihr könnt mir helfen.
Pentium 4 2,6 GHz | 256 MB RAM | 120 GB Festplatte | DVD-ROM Laufwerk (48 Fach) |


I am a noob Smile

www.marcelkroener.de.vu

Mein Arcor Webspace =)

Artemis

BeitragSa, März 05, 2005 12:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann musst du halt das gemalte in ein image tuen, das image malen und dann den roten punkt drufftuen an mousex,mousey-stelle.
die veränderungen, musst du in dem image speichern.

Christian

BeitragSa, März 05, 2005 12:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Tag!

Ja, ich weiß was du meinst.
Wenn du uns jetzt noch dein Problem schildern würdest, können wir dir gerne helfen.

Gruß
Christian

simi

BeitragSa, März 05, 2005 12:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
du brauchst folgende Befehle:
CreateImage, mit dem erstellst du die zeichenfläche auf die du malst....
ImageBuffer und BackBuffer, du malst den roten Punkt in den BackBuffer, und den weissen Punkt in den InageBuffer....

Da du den BackBuffer immer wieder löschtst, bleibt der Rote Punkt nie.
Das Image, in das du den weissen Punkt malst, zeichnest du dann immer auf den Bildschirm

@ Christian:
überlege ein bisschen, bevor du sinnlose sachen pstest.... Rolling Eyes

mk

BeitragSa, März 05, 2005 13:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wie binde ich die Befehle richtig in meinen Code ein? ich hab noch keine ahnung von imagebuffer und createimage

Hier ist mein Code: Embarassed

Code: [AUSKLAPPEN]
Graphics 800,600,0,2
ueberschrift=LoadFont ("Arial",40,0,0,1)
SetFont ueberschrift

img=CreateImage (300,300)
SetBuffer ImageBuffer(img)
HidePointer
Global art=1

While Not KeyHit (1)
Color 255,255,255

mx=MouseX()
my=MouseY()
mz=MouseZ()
art=mz
If art=4 Then art=art-1
If art=0 Then art=art+1

If MouseDown (1) And art=1 Then Plot mx,my
If MouseDown (1) And art=2 Then Rect mx,my,3,3
If MouseDown (1) And art=3 Then Rect mx,my,6,6

SetBuffer BackBuffer()

Text 275,10,"Malprogramm"
Color 255,0,0
DrawImage img,0,0
Rect mx,my,3,3

Flip
Cls
Wend
Pentium 4 2,6 GHz | 256 MB RAM | 120 GB Festplatte | DVD-ROM Laufwerk (48 Fach) |


I am a noob Smile

www.marcelkroener.de.vu

Mein Arcor Webspace =)

simi

BeitragSa, März 05, 2005 13:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Nicht schlecht, der Ansatz...
Code: [AUSKLAPPEN]

Graphics 800,600,0,2
SetBuffer BackBuffer()
ueberschrift=LoadFont ("Arial",40,0,0,1)
SetFont ueberschrift

img=CreateImage (300,300)
HidePointer
Global art=1

While Not KeyHit (1)
  cls
  mx=MouseX()
  my=MouseY()
  mz=MouseZ()
  art=art+mz
  if art > 3 then art=1
  if art < 1 then art=3

  If MouseDown (1)then
    SetBuffer ImageBuffer(Img)
    Color 255,255,255
    if art=1 Then Plot mx,my
    If art=2 Then Rect mx,my,3,3
    If art=3 Then Rect mx,my,6,6
    SetBuffer BackBuffer()
  end if

  Text 275,10,"Malprogramm - Art= "+art
  DrawImage img,0,0
  Color 255,0,0
  Rect mx,my,3,3

  Flip
Wend


Wenn du Fragen hast, nur immer stellen.... Wink

mk

BeitragSa, März 05, 2005 13:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Razz
Pentium 4 2,6 GHz | 256 MB RAM | 120 GB Festplatte | DVD-ROM Laufwerk (48 Fach) |


I am a noob Smile

www.marcelkroener.de.vu

Mein Arcor Webspace =)

mk

BeitragSa, März 05, 2005 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Wollt ihr mal sehen? Rolling Eyes Smile Smile

http://marcelkroener.dyndns.org/Paint.exe
Pentium 4 2,6 GHz | 256 MB RAM | 120 GB Festplatte | DVD-ROM Laufwerk (48 Fach) |


I am a noob Smile

www.marcelkroener.de.vu

Mein Arcor Webspace =)
 

FBI-blitz

BeitragSa, März 05, 2005 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Ganz fut! Jetzt musst du es nur noch hinkriegen, dass man auch schneller zeichnen kann, und keine Lücken entstehen!
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

mk

BeitragSa, März 05, 2005 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
und wie könnte das gehen?

Naja, dann müsst ihr einfach den Mauszeiger langsamer bewegen Wink
Oder die lINIE ETWAS dICKER MACHEN
Pentium 4 2,6 GHz | 256 MB RAM | 120 GB Festplatte | DVD-ROM Laufwerk (48 Fach) |


I am a noob Smile

www.marcelkroener.de.vu

Mein Arcor Webspace =)
 

FBI-blitz

BeitragSa, März 05, 2005 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, aber bei Paint gehts ja auch so! Du könntest z.B. eine Linie zwischen den Punkten ziehen! Siehtdann ein bischen ex#ckig aus, sonst aber ok!
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

mk

BeitragSa, März 05, 2005 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab wieder ein Problem, ich hab schon was ausprobiert, bin aber nicht wirklich weitergekommen.
Ich möchte die gespeicherten Bilder auch wieder laden können

hier mein Code:

Code: [AUSKLAPPEN]

Graphics 800,600,0,2
SetBuffer BackBuffer()

del=LoadImage ("data/del.bmp")
save=LoadImage ("data/save.bmp")
load=LoadImage ("data/load.bmp")
maus=LoadImage ("data/maus.bmp")

img=CreateImage (700,500)
HidePointer

Global art=1
Global Col=1
Global farbe



While Not KeyHit (1)

delcol=ImagesCollide(maus,mx,my,0,del,20,540,0)
savecol=ImagesCollide (maus,mx,my,0,save,200,540,0)
loadcol=ImagesCollide (maus,mx,my,0,load,420,540,0)

  Cls

  mx=MouseX()
  my=MouseY()
If KeyHit (200) Then art=art+1
If KeyHit (208) Then art=art-1

If KeyHit (203) Then col=col-1
If KeyHit (205) Then col=col+1

  If art=7 Then art=art-1
  If art=0 Then art=art+1
 
If col=9 Then col=col-1
If col=0 Then col=col+1




  If MouseDown (1)Then

    SetBuffer ImageBuffer(Img)
If col=1 Then Color 255,255,255
If col=2 Then Color 0,0,0
If col=3 Then Color 255,0,0
If col=4 Then Color 0,255,0
If col=5 Then Color 255,255,0
If col=6 Then Color 0,0,255
If col=7 Then Color 255,0,255
If col=8 Then Color 0,255,255
    If art=1 Then Plot mx,my
    If art=2 Then Rect mx,my,3,3
    If art=3 Then Rect mx,my,6,6
   If art=4 Then Line mx,my,mx+3,my+3
   If art=5 Then Line mx,my,mx+6,my+6
   If art=6 Then Oval mx,my,6,6
    SetBuffer BackBuffer()
  End If
SetBuffer ImageBuffer(img)

If delcol=1 And MouseHit (1) Then Cls



SetBuffer BackBuffer()
ueberschrift=LoadFont ("Arial",40,0,0,1)
SetFont ueberschrift
  Text 100,10,"Malprogramm - Art= "+art+" Color="+col
FreeFont ueberschrift

Color 255,255,255
Text 10,500,"Pfeiltasten Links und Rechts:    Farbe Wählen"
Text 10,515,"Pfeiltasten oben und unten:    Art Wählen"

Rect 0,0,700,500,0
Color 255,0,0


If col=1 Then Color 255,255,255
If col=2 Then Color 0,0,0
If col=3 Then Color 255,0,0
If col=4 Then Color 0,255,0
If col=5 Then Color 255,255,0
If col=6 Then Color 0,0,255
If col=7 Then Color 255,0,255
If col=8 Then Color 0,255,255


  DrawImage img,0,0

DrawImage del,20,540
DrawImage save,200,540
DrawImage load,420,540

DrawImage maus,mx,my


If savecol=1 And MouseHit (1) Then SaveImage (img,"Bild.jpg")
If loadcol=1 And MouseHit (1) Then FreeImage img:img=LoadImage ("bild.bmp")


  Flip
Wend


(Jetzt hab ich selber gesehen das Plot und line Langsamer ist als rect Crying or Very sad
Pentium 4 2,6 GHz | 256 MB RAM | 120 GB Festplatte | DVD-ROM Laufwerk (48 Fach) |


I am a noob Smile

www.marcelkroener.de.vu

Mein Arcor Webspace =)

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group