Toon posts:

[php] imagecreate(counter, resize)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,ik ben een countertje aan het maken.. met php..
de waarde van de counter haal ik uit een db..
maar wat nu niet echt lukt is de grote van de counter
de counter wordt gegenereerd uit een aantal variabelen met
Imagejpeg($im,'',100);


ik heb als counter ongeveer deze vorm
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
   $c = $content
   $b = $backgroundcolor
   $v = $vlakcolor
             50
        <--------------->

        12.5   25    12.5
        <---><-----><--->
        0 1  2 3 4  5 6 7
      0   ________________
      1  |$b          |
      2  |     ______     |
      3  |    |$v    |    | 50
      4  |    |  $c  |    |
      5  |    |______|    |
      6  |          |
      7  |________________|

nu is het geval dat de waarde 50 in width en heigth variabel is...
de $content kan ik mooi centreren dat lukt...
maar het vlak ($vlakcolor) lukt niet
code:
1
2
    // ImageFilledRectangle ($plaatje, vanlinks, vanboven, breedte, hoogte, kleur)
    ImageFilledRectangle($im, $bgPosX, $bgPosY, $bgWidth, $bgHeight, $vc);

ik moet dus een formule hebben die de waarde van $bgPosX en $bgPosY nauwkeurig bepalen ook bij een size != 50

Wie kan mij helpen met zo'n formule..

ik gebruik nu deze waardes om de posities en grotes te bepalen
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
        // Number of characters of $content
      //$content     = number_format($content, 0, '', '.');
    $noOfChars    = strlen($content);
      $charWidth      = ImageFontWidth(5);
      $charHeight     = ImageFontHeight(5);

      // Give the size of the text
       $strWidth       = $charWidth * $noOfChars;
       $strHeight      = $charHeight + 10;

    // Give the position of the string to occur ($content)
      $strPosX     = ($imgWidth / 2) - ($strWidth / 2);
      $strPosY    = ($imgHeight / 2) - ($strHeight / 2);

      // Position of the content background square ($vlakcolor) 
      $bgPosX    = ($imgWidth / 4);
      //$strPosX * 0.8;
      $bgPosY    = ($imgHeight / 4);
      //$strPosY * 0.8;

      $bgWidth   = $strWidth * 4;
      //($imgWidth / 1.2);
      $bgHeight = $strHeight * 1.1;

  • Grum
  • Registratie: Juni 2001
  • Niet online
wat is het probleem nou ? ... (dat mist nogal in je post - je kan wel IETS opmaken maar wat je nou precies bedoeld is niet echt 100% duidelijk)

Verwijderd

Topicstarter
Het probleem is de plaatsing van $vlakcolor
ik krijg die niet mooi gecentreerd bij een variabele imgwidth /imgheigth

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

lengte plaats = (totale lengte - vlak lengte) / 2 )

standaard wiskunde echt. Ik hoop dat je de breedte zelf kan gokken :+

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
Op vrijdag 15 maart 2002 11:30 schreef dusty het volgende:
lengte plaats = (totale lengte - vlak lengte) / 2 )

standaard wiskunde echt. Ik hoop dat je de breedte zelf kan gokken :+
Ja dat is leuk.. alleen wanneer mijn string (stand van het tellertje) nou groter is als de helft van de imgwidth?
wat dan?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

Op vrijdag 15 maart 2002 11:32 schreef polat het volgende:

[..]

Ja dat is leuk.. alleen wanneer mijn string (stand van het tellertje) nou groter is als de helft van de imgwidth?
wat dan?
Dan maak je hem breder.. Ik neem aan dat je zelf wel iets kunt verzinnen toch??

Je hebt de breedte van de string, en de halve breedte van het vlakje.. Daar moet wel iets mee te doen zijn toch....

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Wat is nu het probleem :?

Lijkt me niet zo'n groot probleem. Gewoon een simpele wiskundige berekening... toch

  • Fuzzillogic
  • Registratie: November 2001
  • Laatst online: 01-07-2025
Even afgezien van die maten enzo.. Blijkbaar ben je van plan er een jpeg van te maken. Nou ken ik het plaatje niet, maar ik gok dat dat niet ideaal is om te verjpeggen. Gebruik liever PNG.

* Fuzzillogic ziet al meer dan genoeg oelewappers die niet weten wanneer ze geen jpeg moeten gebruiken :'(

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op vrijdag 15 maart 2002 11:54 schreef Janoz het volgende:

[..]

Dan maak je hem breder.. Ik neem aan dat je zelf wel iets kunt verzinnen toch??
[..]
Hoeft niet totdat de string langer is dan het hele plaatje :)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Op vrijdag 15 maart 2002 13:01 schreef dusty het volgende:

[..]

Hoeft niet totdat de string langer is dan het hele plaatje :)
En het kan ook nog wel even duren voor je 9999999999 bezoekers hebt gehad :).
Pagina: 1