.hide_part .jcrop-holder div div .jcrop-tracker{ background: rgba(255, 255, 255, 1); }
Mając tak przygotowany obraz zapisuję go wykorzystując canvas i następnie ładuję do pliku pdf stosując bibliotekę tcppdf. Do pliku pdf pobieram obraz zmieniając jego wysokość:
$img_foto = '<img height="310px" src="/modules/mod_raport_bif/tmp/camanjs_modifyimg.jpeg" title="" alt="" />';
W związku z tym, że canvas nie daje możliwości zapisania obrazu wraz z zakrytym fragmentem, w pliku pdf na obrazie dorysowuję prostokąt:
o współrzędnych i rozmiarze podanym przez jcrop:
function showCoords { // show all coords $('#x').val(c.x); $('#y').val(c.y); $('#x2').val(c.x2); $('#y2').val(c.y2); $('#w').val(c.w); $('#h').val(c.h); }
Problem jest taki, że prostokąt dorysowany w pliku pdf ma inny rozmiar i współrzędne w stosunku do pobranego obrazu, niż ten nanoszony bezpośrednio w ramce. Spowodowane jest to zmianą położenia i rozmiaru pobranego obrazu.
Nie mogę sobie jak na razie poradzić z ustawieniem właściwej skali/współczynnika tak by zakrywający prostokąt w wynikowym pdf'ie znajdował się w tym samym miejscu i miał odpowiednie proporcje, tak jak prostokąt nanoszony na obraz obrabiany w ramce.
Rozwiązałem problem, w następujący sposób:
$img_foto = '<img height="310px" src="/modules/mod_raport_bif/tmp/camanjs_modifyimg.jpeg" title="" alt="" />'; $size_img = getimagesize('/volume1/web/Joomla_1.5/modules/mod_raport_bif/tmp/camanjs_modifyimg.jpeg'); $originalWidth = $size_img[0]; $originalHeight = $size_img[1]; $ratio_width = (386 / $originalWidth); $ratio_height = (310 / $originalHeight); } $x_post = 20 + ($x_post * $ratio_width) / 2.830; $y_post = 170 + ($y_post * $ratio_height) / 2.830; $w_post = ($w_post * $ratio_width) / 2.830; $h_post = ($h_post * $ratio_height) / 2.830;
Współczynnik 2.830 dobrałem metodą prób i błędów. Ciekaw jestem, czy można by to zrobić w jakiś inny sposób.