Помогите пожалуйста стандартизировать систему координат Есть такой код: Код (Text): <?php $min_tickPrice=1.0000; $tickStep=0.0025; // даты для отображения снизу $date = new DateTime('2018-03-22 16:00'); $date->modify("-5".' hour'); for($id=0; $id<=216; $id++){ $date->modify("+1".' hour'); $DateTime[$id] = $date->format('Y-m-d H'); } // Output and free from memory header('Content-Type: image/jpeg'); // Create a 500 x 500 image $canvas = imagecreatetruecolor(1200, 570); // Allocate color $white = imagecolorallocate($canvas, 225, 225, 225); $boldbl = imagecolorallocate($canvas, 100, 100, 100); $red = imagecolorallocate($canvas, 255, 4, 0); $green = imagecolorallocate($canvas, 0, 196, 68); $whiteBackground = imagecolorallocate($canvas, 255, 255, 255); imagefill($canvas,0,0,$whiteBackground); // Установка толщины линий 5 пикселов imagesetthickness($canvas1, 1); // *** SYSTEM COORDINATES *** // by X | LINE PRICE COORDINATES for($d=0; $d<19; $d++) { $c+=25; $style=array($white,$white,$gray,$white,$white); imagesetstyle($canvas,$style); imageline($canvas,55,$c,1160,$c,IMG_COLOR_STYLED); } // by Y | LINE TIME COORDINATES $p=67; for($f=0; $f<9; $f++) { imageline($canvas, $p, 15, $p, 485, $bbb); for($h=0; $h<24; $h++) { imagedashedline($canvas, $p, 15, $p, 485, $white); $p+=5; } } imageline($canvas, 67, 15, 67, 485, $red); //imageline($canvas, 72, 15, 72, 485, $red); // by Y | TEXT PRICE COORDINATES $z=468; $p=$min_tickPrice; for($n=0; $n<19; $n++) { imagestring($canvas, 2, 12, $z, number_format($p,4), $boldbl); $p+=$tickStep; $z-=25; } //imagestring($canvas, 2, 450, 510, "TIME", $boldbl); imagestring($canvas, 2, 40, 530, " Date from: ".$DateTime[0], $boldbl); // *** END SYSTEM COORDINATES *** imagefilledellipse($canvas, 93/*Date*/, 300/*Price*/, 6, 6, $red); imagejpeg($canvas); imagedestroy($canvas); ?> Подскажите как сделать что бы imagefilledellipse($canvas, 93/*Date*/, 300/*Price*/, 6, 6, $red); задавать не по пикселям, а по дате и цене
Выполнить рассчёт цены деления в пикселах, умножить, сложить, разделить что надо - короче, подумать головой. imagefilledellipse понимает только пикселы,
Вернее так ... для начала мы вводим дату(2018-03-22 16:00), цену(1,2587) которая конвертируется в пиксели которые далее передаются в imagefilledellipse