Wpis z mikrobloga

#naukaprogramowania #php

Mirki potrzebuje pomocy. Co dodać do poniższego kodu aby zapisać zdekodowany obrazek z 2 razy większymi wymiarami?

php
define('UPLOADDIR', 'images/');
$img = $
POST['imgBase64'];
$img = strreplace('data:image/png;base64,', '', $img);
$img = str
replace(' ', '+', $img);
$data = base64decode($img);
$today = date("Ymd");
$file = UPLOAD
DIR . uniqid('prefix'.$today.'') . '.png';
$success = fileputcontents($file, $data);
print $success ? $file : 'Unable to save the file.';
?
  • 10
  • Odpowiedz
@sokytsinolop: Mam sobie diva, którego przerabiam na canvasa za pomocą html2canvas. Canvasa chce zapisać na serwerze jako obrazek z 2 razy większymi wymiarami niż oryginalny div. Da się tak zrobić?
  • Odpowiedz
@sokytsinolop: Wyszukałem wiele takich problemów na necie, ale nie umiem zastosować w moim kodzie żadnego ze znalezionych rozwiązań. Problem jest tego typu, że np. div może mieć wymiary 400 x 400px, zapisany obrazek z tego diva na serwerze ma dokładnie takie same wymiary, a chciałbym mieć 800x800px, żeby przy share'owaniu tego obrazka na facebooka, facebook wyświetlił duży obrazek a nie mały kwadracik jak widać na tym obrazku -> http://www.nextscripts.com/wp-content/uploads/2013/10/NewFBShareStyle.png. Wiem, że
  • Odpowiedz
@sokytsinolop: Skalować go nie mogę bo to jest responsywny div. Na desktopie i tablecie wszystko jest ok, bo div jest duży i wygenerowany z niego obrazek jest odpowiednio duży aby facebook wyświetlił duży obrazek zamiast małego kwadracika. Problem jest gdy div wyświetlany jest na mobile i ma szerokość <400px i wtedy podczas share'a facebook wyświetla mały kwadracik.
  • Odpowiedz
@snc_: no ale wtedy to co tam użytkownik naskrobie też ma <400px więc nie powiększysz tego w żaden sposób jak już to zrzucić do PNG. Możesz zapisać to jako obraz wektorowy, wtedy nie będzie problemu z powiększaniem
  • Odpowiedz