function plot_histogram($image_filename, $param) { extract($param); $histo = get_histogram($image_filename); if (empty($histo)) { return; } for ($i = 0; $i < 256; $i++) { $data[$i] = array('', $histo[$i]); } $p = new PHPlot_truecolor($plot_image_width, $plot_image_height); $p->SetFileFormat('jpg'); $p->SetBgImage($image_filename, 'scale'); $p->SetDataType('text-data'); $p->SetDrawXAxis(False); $p->SetDrawYAxis(False); $p->SetDataValues($data); $p->SetXDataLabelPos('none'); $p->SetXTickLabelPos('none'); $p->SetYTickLabelPos('none'); $p->SetXTickPos('none'); $p->SetYTickPos('none'); $p->SetDrawYGrid(False); $p->SetDataColors($histogram_color, NULL, $histogram_alpha); $p->SetPlotType('thinbarline'); if ($draw_border) { $p->SetGridColor($border_color); $p->SetPlotBorderType('full'); } else { $p->SetPlotBorderType('none'); } # Compute the position of the histogram plot within the image. $hx0 = (int) ($hx * $plot_image_width); $hy0 = (int) ($hy * $plot_image_height); $hx1 = (int) ($h_width * $plot_image_width) + $hx0; $hy1 = (int) ($h_height * $plot_image_height) + $hy0; $p->SetPlotAreaPixels($hx0, $hy0, $hx1, $hy1); $p->DrawGraph(); }