Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki susiduriau su beda. Noriu padaryti grafini inventoriu. vienintelis kas man neiseina yra uzdeti juoda juostele apacioje paveiksliuko. Gal galetumete padeti?

 

Dabar atrodo:

http://i.imgur.com/M0mRlXI.png

 

Kaip turi atrodyti:

http://i.imgur.com/yeLYaO0.png

 

Kaip matot neiseina uzdeti man to juodo fono apcioje.

man reikia jog butu galima keisti juodos juostos ploti ir ilgi.

 

Pagrindine svetaine: http://i.imgur.com/M0mRlXI.png

 

Kodas:

 

<?php
header("Content-type: image/png");
header("Cache-control: no-store,no-cache,must-revalidate"); 

$u = preg_replace("[^Aa-zZ]","",$_GET['image']);
$u = base64_decode($u);
$d = preg_replace("[^0-9]","",$_GET['amount']);
$s = preg_replace("[^a-z]","",$_GET['size']);

if ($s == "small"){
$r = 9;
}else if ($s == "medium"){
$r = 12;
}else if ($s == "big"){
$r = 15;
}else{
$r = 9;
}
 $magick_wand=NewMagickWand();
 MagickReadImage($magick_wand,"$u");
 $drawing_wand=NewDrawingWand();
 DrawSetFontSize($drawing_wand,"$r");
 DrawSetGravity($drawing_wand,MW_CenterGravity);
 $pixel_wand=NewPixelWand();
 PixelSetColor($pixel_wand,"rgb(220,200,60)");
 DrawSetFillColor($drawing_wand,$pixel_wand);
 DrawColor($drawing_wand,2,5,MW_ReplaceMethod);


if ($d>10000){ $d = round($d/1000,0)."K"; }
if ($d>10000){ $d = round($d/1000,0)."M"; }

 if (MagickAnnotateImage($magick_wand,$drawing_wand,-6,12,0,"$d") != 0)
   {
     MagickEchoImageBlob( $magick_wand );
   }
 else
   {
     echo MagickGetExceptionString($magick_wand);
   }
?>

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nesu dirbęs su Magicku, bet kaip suprantu su DrawColor tu nurodai nuspalvinti tik vieną pikselį.

Paskaityk apie DrawRectangle() ir DrawSetTextUnderColor(). Dokumentacija: http://www.imagemagick.org/api/drawing-wand.php

 

Ten yra teksto nustatymai jie niekuo nesusija.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pasidariau, jei kam reikia kodas:

 

<?php
header("Content-type: image/png");
header("Cache-control: no-store,no-cache,must-revalidate"); 

$u = preg_replace("[^Aa-zZ]","",$_GET['image']);
$u = base64_decode($u);
$d = preg_replace("[^0-9]","",$_GET['amount']);
$s = preg_replace("[^a-z]","",$_GET['size']);

if ($s == "small"){
$r = 9;
$w = 32;
$h = 22;
$a = 11;
}else if ($s == "medium"){
$r = 11;
$w = 42;
$h = 30;
$a = 16;
}else if ($s == "big"){
$r = 13;
$w = 52;
$h = 39;
$a = 20;
}else{
$r = 9;
$w = 32;
$h = 22;
$a = 11;
}

$magick_wand=NewMagickWand();
MagickReadImage($magick_wand,"$u");

//piesia staciakampi
$drawing_wand=NewDrawingWand();
DrawSetFontSize($drawing_wand,"$r");
DrawSetGravity($drawing_wand,MW_CenterGravity);
$pixel_wand=NewPixelWand();
PixelSetColor($pixel_wand,"rgb(220,200,60)");
DrawSetFillColor($drawing_wand,$pixel_wand);
DrawColor($drawing_wand,2,5,MW_ReplaceMethod);

//uzraso teksta
$drawing_wand2=NewDrawingWand();
$pixel_wand2=NewPixelWand();
PixelSetColor($pixel_wand2,"rgb(0,0,0)");
DrawSetFillColor($drawing_wand2,$pixel_wand2);
DrawRectangle($drawing_wand2,0,"$h","$w","$w");
MagickDrawImage($magick_wand,$drawing_wand2) ;

if ($d>10000){ $d = round($d/1000,0)."K"; }
if ($d>10000){ $d = round($d/1000,0)."M"; }

if (MagickAnnotateImage($magick_wand,$drawing_wand,0,"$a",0,"$d") != 0){
 MagickEchoImageBlob( $magick_wand );
}else{
 echo MagickGetExceptionString($magick_wand);
}
?>

Nuoroda į pranešimą
Dalintis kituose puslapiuose

O tai čia kiekvieną paveiksliuką taip generuoji kiekvieną kartą užkraunant puslapį?

Kažkaip gan švaistomi resursai, manyčiau :)

 

Cia pakrauna is mysql lenteles visus turimus daiktus ir jei ju daugiau nei 1, tuomet generuojamas paveiksliukas. Hm, man nekyla ideju kaip padaryti optimaliau, jei tu zinai mielai isklausysiu:)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...