Витяг координат з файлу autocad dxf з допомогою функції explode php

Об’єднання даних в рядок за допомогою implode() для компактного зберігання інформації в MySQL

Для зберігання в базі даних зберемо координати в рядок за допомогою implode(), оскільки якщо зберігати кожну точку в окремій клітинці, то база даних поступово розростеться до величезних розмірів. Створювати таблиці в MySQL не будемо, щоб не ускладнювати код.

$implode_coordinates_db[$k] = implode(‘;’,$coordinates_db);

Залишилося написати функцію, яка буде малювати картинку в GD Library:

$image_array = array($implode_coordinates_db, $width, $height);

Для створення картинки нам потрібні координати (будемо використовувати рядок з координатами, яку можна отримати з бази даних $implode_coordinates_db), ширина і висота.

Виклик функції:

$image_base64 = image_create($image_array);

Та сама функція:

function image_create( $image_array ){
$implode_coordinates = $image_array[0];
$width = $image_array[1];
$height = $image_array[2];
$im = imagecreatetruecolor($width+1, $height+1);
$white=imagecolorallocate($im,255,255,255);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, $width, $height, $white);
foreach( $implode_coordinates as $key =>$coordinates_string ){
$coordinates[$key] = explode(‘;’, $coordinates_string);
$polygon_arrays_count[$key]=count($coordinates[$key])/2;
imagepolygon($im, $coordinates[$key], $polygon_arrays_count[$key] , $black);
}
ob_start();
imagepng($im);
$buffer = ob_get_clean();
//ob_end_clean();
$img = base64_encode($buffer);
imagedestroy($im);
return $img;
}