Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][PHP]Biblioteka GD - kadrowanie przy pomocy jCrop, Proszę o pomoc w zmuszeniu do działania biblioteki gd z jcrop
Archon816
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Archon816
post
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);

?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 09:53