[Delphi] Op zoek naar een chart component

Pagina: 1
Acties:

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Ik ben dus op zoek naar een goed chart component om een simpele grafiek (staaf) te tekenen. Ik weet dat er standaard een goede bij Delphi zit, maar die mist een manier om een bepaalde chart zoals DUMeter te maken:
Afbeeldingslocatie: http://members.chello.nl/j.vos6/tweakers/dumeter.gif

Weet iemand toevallig waar ik zo'n freeware component kan vinden?

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

Zo'n dingetje als hier boven kan je zelf vrij simpel maken..

Verwijderd

Voor coole components moet je gewoon ff
kijken op :

- www.torry.net ( The Best )
- www.delphipages.com

Succes

  • Marv
  • Registratie: Oktober 2000
  • Laatst online: 11-06 06:52
jelmervos is geen newbie hoor :)
Aantal posts: 6362
En hij weet volgens mij vrij veel van delphi dus die standaard pages kent ie mij wel... volgens mij is ie op zoek naar iets speciaals of is daar gewoon niets te vinden. Correct me if I'm wrong :)

"Everything I've ever done or said is the complete opposite of what I've wanted" -- George


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Op maandag 08 oktober 2001 16:30 schreef Marv het volgende:
jelmervos is geen newbie hoor :)
[..]

En hij weet volgens mij vrij veel van delphi dus die standaard pages kent ie mij wel... volgens mij is ie op zoek naar iets speciaals of is daar gewoon niets te vinden. Correct me if I'm wrong :)
Klopt, ken die 2 site hierboven allang. Maar weet je wat het is met dit soort dingen. Ervaring van andere mensen is altijd leuk, en het scheelt toch een hoop werk om de verschillende componenten te testen. Als iemand anders allang heeft gevonden wat ik zoek.

Maar wat idd wel een idee is, is gewoon zelf maken, waarom niet. Alleen heb ik weinig ervaring met het maken van zulk soort grafische dingen.

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

Maar ook al ben je geen newbie miscchien ken je die sites dan toch niet. Maar even over zo'n grafiek.

Wat je kan doen is een TImage gebruiken en daar zelf de pixels in te tekenen. Gebruik geen paintbox want als er een ander form overheen gaat ben je alles kwijt dus een TImage is dan het beste.
code:
1
2
3
  image1.Canvas.LineTo
  image1.Canvas.Polygon
  image1.Canvas.Pixels

Ga met bovenstaande code eens wat proberen dan komt er een tof ding uit.

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Thanks, ik zal het idd proberen zelf te maken. Leer ik ook nog es wat van. :) Zoals ik al had gezegd heb ik eigenlijk nooit wat gedaan met Delphi + graphics.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Marv
  • Registratie: Oktober 2000
  • Laatst online: 11-06 06:52
offtopic:
Wat is er met je icoon gebeurd? :+

"Everything I've ever done or said is the complete opposite of what I've wanted" -- George


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
En hoe doe ik het dan met het schuiven van het geheel zonder dat het schokt of knipperd?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

Hej jelmervos. Wil het niet met 't standaardcomponent van Delphi als je steeds aan de voorkant een nieuwe value invult, en tegelijk aan de achterkant eentje eruit gooit? Of schokt/knippert dat enorm?

Maar anders kan je wel gemakkelijk lijntjes tekenen, dat neemt zeker weten een stuk minder resources in beslag.

Gewoon een leeg rechthoekje maken.

1. copyrect gebruiken, om de meuk 1 pixel op te schuiven
2. nieuw lijntje erbij tekenen helemaal rechts.

Met doublebuffering kan je knipperen tegengaan.

klaaros!

Siditamentis astuentis pactum.


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Het probleem met dat standaard TChart component is dat die dus niet van die lijntjes kan. Hij kan wel bar's maar daar zit altijd een ruimte tussen. Wat ik dus wil is gewoon een recht lijntje van 1 pixel.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Knutselsmurf
  • Registratie: December 2000
  • Laatst online: 20:57

Knutselsmurf

LED's make things better

Op woensdag 31 oktober 2001 16:10 schreef jelmervos het volgende:
En hoe doe ik het dan met het schuiven van het geheel zonder dat het schokt of knipperd?
Volgens mij is de makkelijkste manier om onzichtbaar een tweede image te tekenen, en op het moment dat die klaar is die tweede image in de plaats van de oorspronkelijke image te zetten.

Dit is in principe double buffering, maar door het zelf te implementeren( wat beslist niet moeilijk is) heb je zelf het moment van het update van de display in de hand. Een stringlist heeft bijvoorbeeld beginupdate en endupdate methodes, waarmee dit voor een stringlist te regelen is, maar helaas heeft een image deze methodes niet.

- This line is intentionally left blank -


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Het schuiven lukt idd perfect met CopyRect. Geen probleem.
Met het knipperen valt het nog wel mee, maar misschien dat het op een tragere machine erger is. Daarom wil ik toch proberen een Double Buffering methode toe te passen. Is dit moeilijk?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

dubbelbuffering

In een offscreen buffer maak je je tekening, die je dan in 1 keer over de andere heenzet..

Geheugen kopieren gaat erg snel, veel sneller als elke keer een paar pixels veranderen en je ziet dan geen flikkeringen :)

hoe het in Delphi moet :? :?

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Oke, da's makkelijk uit te zoeken.

Dan is er nog een probleem, het resizen van de grafiek. Als deze wordt geresized moet de inhoud worden aangepast dmv zoom/scaling denk ik. Iemand hier een goeie oplossing voor?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

Op woensdag 31 oktober 2001 16:43 schreef wasigh het volgende:

dubbelbuffering

...

hoe het in Delphi moet :? :?
weet je hoe het in Java moet? op dezelfde manier kan het ook ongeveer in Delphi!

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


Verwijderd

Op woensdag 31 oktober 2001 16:48 schreef jelmervos het volgende:
Oke, da's makkelijk uit te zoeken.

Dan is er nog een probleem, het resizen van de grafiek. Als deze wordt geresized moet de inhoud worden aangepast dmv zoom/scaling denk ik. Iemand hier een goeie oplossing voor?
Hou een object met een Canvas in het geheugen, hier maak je alle veranderingen op. Na een paint event van windows doe je een StretchBlt [zie windows API]

..of je gebruikt TCanvas.CopyRect die weer StretchBlt aanroept.

Verwijderd

Jap gewoon zelf maken het is erg simpel. Btw DU meter is ook in delphi gemaakt (of C++ builder).
Pagina: 1