Button abrunden
Übersicht

CaeSarBetreff: Button abrunden |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe jetzt meinen Button, nur ist er sehr eckig.
Ich weiß garnicht wie ich das machen soll mit dem abrunden an den ecken des Buttons. Code: [AUSKLAPPEN] Graphics 800,600,16,2 HidePointer Mousezeiger=CreateImage(10,10) SetBuffer ImageBuffer(Mousezeiger) Color 0,255,0 Rect 0,0,10,10,1 Button=CreateImage(100,30) R=255 G=0 Repeat SetBuffer ImageBuffer(Button) Color R,G,0 Rect 0,0,100,30,1 SetBuffer BackBuffer() If ImagesCollide(Mousezeiger,MouseX(),MouseY(),0,Button,350,270,0) Then Einstellung=Einstellung+MouseHit(1) If Einstellung>3 Then Einstellung=0 G=150 Else G=0 EndIf Select Einstellung Case 0 Wechsel$="Niedrig" Case 1 Wechsel$="Mittel" Case 2 Wechsel$="Hoch" Case 3 Wechsel$="Extrem" End Select FlushMouse DrawImage Button,350,270 Color 0,0,255 Text 360,280,Wechsel$ DrawImage Mousezeiger,MouseX(),MouseY() Flip Cls Until KeyHit(1) End Wär nett wenn mir jemand helfen könnte !! mfg Cae$ar |
||
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Indem du das Bild mit einem Bildbearbeitungsprogramm erstellst und per LoadImage() lädst?
Für einfache Sachen tut es hier sogar Microsoft Paint (2)... |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
CaeSar |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
es muss doch auch was anderes geben, anstatt das bild zu malen.
Man muss es doch irgendwie abrunden können ?? mfg Cae$ar |
||
![]() |
mahe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst mit "oval" Kreise erzeugen.
Wenn du einen Button aus zwei Kreisen und einem Rechteck zusammensetzt sieht es auch abgerundet aus. |
||
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ, |
Gast |
![]() Antworten mit Zitat |
|
---|---|---|
Code: [AUSKLAPPEN] Oval 0,0,32,12 Oval 32,0,32,12 Rect 16,0,32,12 So meinte es mahe... |
||
CaeSar |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
mhh is ja auch garnet so schlecht eure Ideen, nur wird wenn ich bei jeden Button 1 Rechteck und 2 Ovale brauch, der Arbeitsspeicher sehr belastet.
Aber ansonsten könnte man das schon so machen. mfg Cae$ar |
||
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann male den Button einmal mit den Ovalen, und speichere das ganze in einem Bild ab (createImage...)
So hab ich mal abgerundete Rechtecke gezeichnet. |
||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
![]() |
mahe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was mir gerade in Deinem Code aufgefallen ist:
Code: [AUSKLAPPEN] SetBuffer ImageBuffer(Button) Color R,G,0 Rect 0,0,100,30,1 SetBuffer BackBuffer() Dieser Teil gehört absolut nicht in die Schleife. Du musst das Bild nur einmal erstellen, dann bleibt es Dir erhalten bis du es wieder veränderst oder löschst. Deshalb ist es auch absolut kein Problem wenn ein Button aus drei Objekten erstellt wird. Das Bild bleibt gleich groß nur vergrößerst sich der Aufwand beim Erstellen minimal (einmal beim Programmstart und in diesem Fall unmessbar). |
||
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ, |
CaeSar |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das musste ich machen damit ich die Farbe bei Kollision verändern kann !!
mfg Cae$ar |
||
![]() |
mahe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann erstell zwei Bilder mit unterschiedlicher Farbe und zeige je nach Situation eines davon an.
So ist das sehr hässlich zumal Du dafür kein Bild erstellen müsstest. |
||
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ, |
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mausrad, um den "Ecken-radius" zu verändern...
Code: [AUSKLAPPEN] SetBuffer BackBuffer()
w = 100 h = 70 d = 20 Repeat x = MouseX() - w/2 y = MouseY() - h/2 d = d + MouseZSpeed() Cls ;Color 50, 50, 50: Rect x, y, w, h, 0 Color 50, 150, 255: Oval x, y, d, d, 1 Oval x + w - d, y, d, d, 1 Oval x, y + h - d, d, d, 1 Oval x + w - d, y + h - d, d, d, 1 Rect x + d/2, y, w - d, h Rect x, y + d/2, w, h - d Flip() Until KeyDown(1) End |
||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
CaeSar |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Gut danke,
dann werde ich das auch so machen mit den vielen Ovalen und so, aber ich werde daraus eine Funktion machen die ich dann immer nutze. Danke ![]() mfg Cae$ar |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group