![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 3.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Muszę wykonać funkcjonalność która pozwoli na kadrowanie obrazów i zapisywanie na komputerze. 1. Nie mogę sobie poradzić z server side. Próbowałem postępować według tego: http://deepliquid.com/content/Jcrop_Implem...ion_Theory.html Niestety bez skutku - całość można zobaczyć na stronie: http://fototapety.fosterprint.pl/node/15 W firebug konsola wyświetla "Image corrupt or truncated". Bardzo proszę o znalezienie przyczyny i w miarę możliwości pokierowanie bo kompletnie nie znam php. 2. Kod php który aktualnie mam jest taki sam jak na stronie deepliquid z linku który podałem wyżej, jedynie ścieżka do pliku jest inna: Kod $targ_w = $targ_h = 150; $jpeg_quality = 90; $src = 'demo_files/flowers.jpg'; $img_r = imagecreatefromjpeg($src); $dst_r = ImageCreateTrueColor( $targ_w, $targ_h ); imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'], $targ_w,$targ_h,$_POST['w'],$_POST['h']); header('Content-type: image/jpeg'); imagejpeg($dst_r, null, $jpeg_quality); I tu się rodzi drugie pytanie: co umieścić zamiast "$src = 'demo_files/flowers.jpg';" żeby automatycznie podstawiać adres tego obrazka który aktualnie kadrujemy? Trzecie pytanie - co zmienić w kodzie, żeby rozdzielczość skadrowanego obrazka nie była sztywno ustawiona, tylko zależna od tego jak ustawiona jest ramka kadrująca (taka jaka powinna być rzeczywista wielkość kadru biorąc pod uwagę rozdzielczość całego obrazka)? Mam nadzieję, że pytania są w miarę zrozumiałe. Bardzo proszę o pomoc. Witam! Zauważyłem, że jak zamienię w kodzie php dwie ostatnie linijki na: Kod // Comment out the header() call // header('Content-type: image/jpeg'); imagejpeg($dst_r, $output_filename, $jpeg_quality); to wyświetla się dziwny ciąg znaków. Próbowałem go zapisać jako jpg ale bez skutku. Jeszcze raz bardzo proszę o pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 3.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Dzięki, obraz się wyświetla. Zastanawiam się teraz, dlaczego przeglądarka pokazywała błąd: "Notice: Undefined variable: output_filename" - koniecznie potrzebuję, żeby właśnie ten obraz pobrać na dysk zamiast wyświetlania. Próbowałem coś takiego: Kod imagejpeg($dst_r, 'obraz.jpg', $jpeg_quality); ale niestety nic się nie wyświetla ani nie pobiera - pusta strona. Proszę o pomoc. Edit: Zauważyłem, że pliki się zapisują, ale nie na komputerze tylko na serwerze w folderze w którym umieszczony jest plik php. Proszę o pomoc jak to można naprawić. Przesyłam aktualny kod: Kod <?php error_reporting(-1); $targ_w = $targ_h = 150; $jpeg_quality = 90; $src = 'http://fototapety.fosterprint.pl/sites/default/files/shutterstock_9759766.jpg'; $img_r = imagecreatefromjpeg($src); $dst_r = ImageCreateTrueColor( $_POST['w'],$_POST['h'] ); imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'], $_POST['w'],$_POST['h'],$_POST['w'],$_POST['h']); // Comment out the header() call header('Content-type: image/jpeg'); imagejpeg($dst_r,'obraz1.jpg',$jpeg_quality); ?> Bardzo proszę o pomoc. Edit: Poradziłem sobie - jeszcze raz wielkie dzięki. Poniżej aktualny działający kod. Pozdrawiam! Kod <?php
error_reporting(-1); $targ_w = $targ_h = 150; $jpeg_quality = 90; $src = $_POST['adres']; $img_r = imagecreatefromjpeg($src); $dst_r = ImageCreateTrueColor( $_POST['w'],$_POST['h'] ); imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'], $_POST['w'],$_POST['h'],$_POST['w'],$_POST['h']); header("Content-Transfer-Encoding: binary"); header('Content-Description: File Transfer'); header('Content-Type: image/jpeg'); header('Content-Disposition: attachment; filename=asdf'); imagejpeg($dst_r,'',$jpeg_quality); ?> |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 09:53 |