Avatar billede Daniel.E Praktikant
12. november 2004 - 21:48 Der er 13 kommentarer og
1 løsning

difinere ramme i pixel, til at tegne på

dav

jeg sidder og programmere lidt i BOrland Builder 6.0, og det ser jo meget sjovt ud.. som sådan... men jeg skal bruge noget som jeg enten ikke ved der er med som kompunent, eller kan finde ud af...

Eks..

hvis man tager et label og får det til at fylde 800*600 pixel i en firkant.  Og man har funktioner til at difiniere hvilken pixel der skal være tænkt.
Så har man en ramme, hvorpå man kan tegne.

Hvordan difinere man sådan en ramme i Borland Builder 6.0, hvis man sidder og bygger sit program ud i et vindue... ??



Vb2
Avatar billede bertelbrander Novice
13. november 2004 - 00:23 #1
Jeg er ikke sikker på at jeg forstår spørgsmålet.

Du kan tegne direkte på din form:

  for(int i = 0; i < 256; i++)
      for(int j = 0; j < 256; j++)
        Canvas->Pixels[i][j] = TColor(RGB(i, j, 0));
Avatar billede Daniel.E Praktikant
13. november 2004 - 00:45 #2
bertelbrander >> he he... det er sådan noget som jeg leder efter..

ok.. jeg har prøvet det, og det går lidt langsomt... er der en måde at gøre det hurtigere på ??

Men det som mangler er en ramme som difinere MAX og MIN værdier for x/y.... den ramme skal så være det felt hvorpå man kan tegne... håber du forstår
Avatar billede bertelbrander Novice
13. november 2004 - 01:04 #3
Det vil altid være langsomt at tegne en pixel af gangen.
Man kan bruge  Canvas->FillRect(Rect), Canvas->Ellipse(Rect), osv, det går nok lidt hurtigere. Eller man kan tegne med bitmaps (lavet fra filer).

Du kan lave en ramme ved at aflede en class fra TPanel og tegne på den, laver lige et eksempel...
Avatar billede Daniel.E Praktikant
13. november 2004 - 01:05 #4
hvordan så med en browser til internettet.. hvis man lavet et stort table.. det bliver da tegne hurtigt.. og tables er tunge HTML, når man snakker sådan noget....

hvad gør en browsers vindue for at tegne så hurtigt ??
Avatar billede bertelbrander Novice
13. november 2004 - 01:34 #5
En browser (og alt andet) tegner med streger (LineTo) og med boxe (FillRect), og text (DrawText). Grafikken bliver enten tegnet som bitmaps (BitBlt i almindelig Win32API), eller vha. et grafik bibliotek. jpg/gif/png/whatever bliver sansynligvis konverteret til bitmaps inden de bliver tegnet.

Man kan tegne et helt skærm billede i memory (på en memory dc) og så putte det på skærmen på én gang.
Avatar billede Daniel.E Praktikant
13. november 2004 - 01:37 #6
hvordan det ?
Avatar billede bertelbrander Novice
13. november 2004 - 01:51 #7
Jeg ved ikke hvordan man gør med Borland Builder.
Jeg forsøgte at lave et eksempel på det andet, men det vil ikke virke :-(

Måske skulle du vente og se om ikke der skulle dukke en op der ved noget om BCB.
Avatar billede Daniel.E Praktikant
13. november 2004 - 18:01 #8
Kender du ikke en metode til sådan noget her i ren tankegang:
void save_canva(canvas et eller andet) {
for(int i = 0; i < 256; i++)
      for(int j = 0; j < 256; j++)
        MY_CanvasContainer[0] = TColor(RGB(i, j, 0));
}

void plave_canvas(canvas et eller andet) {

}

        Canvas->Pixels[i][j]
Avatar billede Daniel.E Praktikant
13. november 2004 - 18:02 #9
Om igen.. skete en fejl
Avatar billede Daniel.E Praktikant
13. november 2004 - 18:04 #10
Kender du ikke en metode til sådan noget her i ren tankegang:

void save_canva(canvas et eller andet) {
for(int i = 0; i < 256; i++)
      for(int j = 0; j < 256; j++)
        MY_CanvasContainer[0] = TColor(RGB(i, j, 0));
}

void place_canvas(canvas et eller andet) {
    place(beginning_x,begnining_y,canvas_et_eller_andet[0]);
}


det som jeg spørger til er om, du ved hvordan man laver sådan en MY_CanvasContainer[0] ???
Avatar billede bertelbrander Novice
13. november 2004 - 22:57 #11
Jeg ved godt hvordan man gør med ren Win32Api programmering, men jeg har ingen idé om hvordan man gør med BCB's (efter min ringe mening) krøllede måde at lave ting på.
Avatar billede Daniel.E Praktikant
15. december 2004 - 20:23 #12
bertelbrander.. kan du ikke skrive at du ikke vil have points for dine svar....
Avatar billede bertelbrander Novice
15. december 2004 - 20:44 #13
Jeg samler ikke på point. Da der ikke er andre du kan give dem, laver du selv en svar som du derpå accepterer, så får du dem tilbage.
Avatar billede Daniel.E Praktikant
16. december 2004 - 11:16 #14
ok.. det vil jeg så gøre... jeg prøver at overholde ekspertens regler...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester