Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wycinek obrazka ...
deejay
post 3.03.2004, 22:52:26
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 3.03.2004
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witam

Jak wyświetlić wybrany wycinek obrazka o wielkości x pixeli / y pixeli po zuploadowaniu pliku.

W razie gdyby ktoś nie zabardzo zrozumiał o co mi chodzi to tłumacze, że potrzebuje to do tego by wyświetlić przy newsie w skrypcie coś ala zajawke smile.gif, i potrzebuje właśnie coś co pozwoli mi określić co z obrazka ma zostać wyświetlone smile.gif...

Jeśli by komuś to pomogło w rozwiązaniu problemu dla php to posiadam kod czegoś takiego w ASP od znajomego, ale on w php nie pracuje a ja w asp to już zupełnie ...

Pozdrawiam


--------------------
Dziękuj za przysługi...
Warsztat: Apache 2.0.39 | MySQL 3.23.36 | PHP 4.2.2
www.djparson.tk
Go to the top of the page
+Quote Post
Paul
post 3.03.2004, 22:55:17
Post #2





Grupa: Zarejestrowani
Postów: 636
Pomógł: 0
Dołączył: 22.10.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


do tego potrzebujesz GD...... wyszytkie funkcje jakie potrzebujesz znajdziesz tu
Go to the top of the page
+Quote Post
marian8
post 4.03.2004, 10:04:42
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 3.12.2003
Skąd: Jelenia Góra

Ostrzeżenie: (0%)
-----


W tym kodzie musisz podac $nazwa_src (nazwa zrodlowego obrazka), $nazwa_dst (nazwa pod ktora bedzie zapisany nowy obrazek), $rozmiar_x, $rozmiar_y i w funkcji [manual:37566cf146]imagecopyresampled[/manual:37566cf146] zamienic 100,200,300 na odpowiednie wartosci. Skladnia tej funkcji:
bool imagecopyresampled ( resource dst_im, resource src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH)

[php:1:37566cf146]<?php
$dst = imagecreatetruecolor($rozmiar_x,$rozmiar_y);
$src = imagecreatefromjpeg($nazwa_src);
imagecopyresampled($dst, $src, 0,0, 100,200, $rozmiar_x,$rozmiar_y, 200,300);
imagedestroy($src);
imagejpeg($dst,$nazwa_dst);
imagedestroy($dst);
?>[/php:1:37566cf146]


Jesli chcesz wyslac obrazek do przegladarki a nie do pliku to z funkcji
[manual:37566cf146]imagejpeg[/manual:37566cf146] musisz usunac parametr $nazwa_dst i caly skrypt podawac jako obrazek czyli
[xml:1:37566cf146]<img src="skrypt.php" >[/xml:1:37566cf146]
Go to the top of the page
+Quote Post
deejay
post 4.03.2004, 12:31:46
Post #4





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 3.03.2004
Skąd: Poznań

Ostrzeżenie: (0%)
-----


marian8 wielkie dzięki za pomoc, wszystko działa poprawnie, musze tylko dokładnie przestudiować argumenty funkcji imagecopyresampled ;].

Wielkie dzięki za pomoc.
Pozdr


--------------------
Dziękuj za przysługi...
Warsztat: Apache 2.0.39 | MySQL 3.23.36 | PHP 4.2.2
www.djparson.tk
Go to the top of the page
+Quote Post
Paul
post 4.03.2004, 14:22:20
Post #5





Grupa: Zarejestrowani
Postów: 636
Pomógł: 0
Dołączył: 22.10.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


marian8: ja mu "dalem wedke"..... sam by do tego doszedl (miejmy nadzieje) smile.gif
Go to the top of the page
+Quote Post
deejay
post 4.03.2004, 14:45:52
Post #6





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 3.03.2004
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Paul, z tym dochodzeniem samemu to bywa różnie. Tobie również należą się podziękowania smile.gif...


--------------------
Dziękuj za przysługi...
Warsztat: Apache 2.0.39 | MySQL 3.23.36 | PHP 4.2.2
www.djparson.tk
Go to the top of the page
+Quote Post
Lucky
post 4.03.2004, 15:06:27
Post #7





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 2.03.2004
Skąd: Ziemia Giżycka

Ostrzeżenie: (0%)
-----


Wydaje mi się że takie wędki to pomoc od niechcenia. Jeżeli ktoś potrzebuje pomocy to trzeba mu powiedzieć jasno i dodatkowo ewentualnie odesłać do literatury. smile.gif


--------------------
My name is Luke... Lucky Luke
Go to the top of the page
+Quote Post
deejay
post 12.03.2004, 16:34:24
Post #8





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 3.03.2004
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Mam do tego jeszcze takie pytanie. Czy da sie to tak zrobic ze obrazek jak zrobie zeby sie poakzywal obok to zeby okresilo sie kliknieciem i przeciagnieciem myszki wszystkie potrzebne wspolrzedne i wielkosci ?


--------------------
Dziękuj za przysługi...
Warsztat: Apache 2.0.39 | MySQL 3.23.36 | PHP 4.2.2
www.djparson.tk
Go to the top of the page
+Quote Post
Bielo
post 12.03.2004, 22:40:51
Post #9





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 21.09.2003
Skąd: Truskaw

Ostrzeżenie: (0%)
-----


ja bym to zrobił na javascripcie

[xml:1:671789f31a]
<form action="dalej.php" name="wspolzendne">
x1<input type="text" name="x1">
y1<input type="text" name="y1">
x2<input type="text" name="x2">
y2<input type="text" name="y2">
</form>
<img src="templates/design1/images/logo.gif" width="220" height="83" border="0" id="img"><!--wyświetlasz cały obrazek-->
<div id="ramka" style="border: dotted black 1px; background-color: transparent; filter: alpha('opacity=50'); position: Absolute">
<script>
document.onmousedown=poczatek
document.onmousemove=rusz
document.onmouseup=koniec
p=false;
function poczatek()
{
xa=window.event.offsetX;
ya=window.event.offsetY;
if(window.event.srcElement.id=="img")
{
p=true;
document.getElementById("ramka").style.height=0;
document.getElementById("ramka").style.width=0;
document.getElementById("ramka").style.left=window.event.x-1;
document.getElementById("ramka").style.top=window.event.y-1;
document.wspolzendne.x1.value=xa;
document.wspolzendne.y1.value=ya;
}
else
{
p=false;
document.getElementById("ramka").style.left=0;
document.getElementById("ramka").style.top=0;
document.getElementById("ramka").style.width=0;
document.getElementById("ramka").style.height=0;
document.wspolzendne.x1.value=0;
document.wspolzendne.y1.value=0;
}
return false;
}

function rusz()
{
xb=window.event.offsetX;
yb=window.event.offsetY;
if(p&&window.event.srcElement.id=="img")
{
w=(xb-xa)<0?0:xb-xa;
h=(yb-ya)<0?0:yb-ya;
document.getElementById("ramka").style.width=w;
document.getElementById("ramka").style.height=h;
document.wspolzendne.x2.value=xa+w;
document.wspolzendne.y2.value=ya+h;
}
return false;
}

function koniec()
{
p=false;
}
</script>[/xml:1:671789f31a]

moge sie pochwalic ze pisane na poczekaniu zmien tylko typ inputów z text na hidden

wynik na http://krzysiek.bielicki.pl/zaznacz.php

UPDATE
Było trochę źle, ale jest lepiej.
Mam problem gdy width/height ma być ujemny. Narazie zrobiłem żeby były równe 0


--------------------
Go to the top of the page
+Quote Post
deejay
post 12.03.2004, 23:54:13
Post #10





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 3.03.2004
Skąd: Poznań

Ostrzeżenie: (0%)
-----


UPDATE

Mam jeszcze pytanie dotyczące funckji:
imagecopyresampled($dst, $src, 0,0,0,0,$x1,$y1,$x2,$y2);
co znaczą poszczególne jej argumenty, bo musze przyznać ze manual mi zbyt w tym niepomógł i jakośtak cieżko mi smile.gif ...

Pozdry
-----------------------
punkcik dla Ciebie, o to mi właśnie chodziło zaraz bede testowal, jak będa problemy dam znać
Dzięki i pozdrawiam


--------------------
Dziękuj za przysługi...
Warsztat: Apache 2.0.39 | MySQL 3.23.36 | PHP 4.2.2
www.djparson.tk
Go to the top of the page
+Quote Post
Bielo
post 14.03.2004, 13:19:50
Post #11





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 21.09.2003
Skąd: Truskaw

Ostrzeżenie: (0%)
-----


jeśli użyjesz mojego skryptu to będzie:
[php:1:8cf00ac3db]<?php
imagecopyresampled ( nazwa wycinka, zuploadowany obrazek, 0, 0, $_POST["x1"], $_POST["y1"], ($_POST["y2"]-$_POST["y1"]), ($_POST["x2"]-$_POST["x1"]),($_POST["y2"]-$_POST["y1"]), ($_POST["x2"]-$_POST["x1"]))

?>[/php:1:8cf00ac3db]

Bo obrazka chyba nie chcesz przeskalowywać


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 8.07.2025 - 18:59