Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z poprawnym tworzeniem obrazka png
tiamak
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 21.05.2003
Skąd: Szczecin Niebuszewo

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


witam mam sobie taki kod
[php:1:5f88b6a479]<?php
Header("Content-type: image/png");
session_start();
$db = mysql_connect($_SESSION["USER_HOST"], $_SESSION["USER_DB_LOG"], $_SESSION["USER_DB_PASS"]) or die (mysql_error());
mysql_select_db($_SESSION["USER_DB_NAME"],$db) or die (mysql_error());

$img_des = ImageCreate(200,250);
$bialy = imagecolorallocate($img_des, 255, 255, 255);
//imagefill($img_des, 0, 0, $bialy);
imagecolortransparent($img_des, $bialy);

$sql = 'SELECT id_kat, nazwa_kat FROM czesci_kat';
$result = mysql_query($sql,$db) or die (mysql_error());
while ($row = mysql_fetch_array($result)) {
if ($_POST['kat_'.$row[0]] == 1)
{
$sql_cz = 'SELECT id_cz FROM czesci WHERE id_kat = "'.$row[0].'"';
$result_cz = mysql_query($sql_cz,$db) or die (mysql_error());
while ($row_cz = mysql_fetch_array($result_cz)) {
$sciezka = '....gdziestam...';
$wartosci = $_POST['a'.$row_cz[0]];
if (strlen($wartosci)) {
$img_src = ImageCreateFrompng($sciezka);
$true_width = imagesx($img_src);
$true_height = imagesy($img_src);
list($szer, $wys) = explode('||',$wartosci);
imagecopy ($img_des, $img_src, $szer, $wys, 0, 0, $true_width, $true_height);


} // if strlen(Wartosci)
} // while row_cz
} // if kat


} // while
mysql_close($db);
imagepng($img_des);
imagedestroy($img_des);

?>[/php:1:5f88b6a479]

i kod dziala tworzy obrazek wyswietla na stronie
ale jak chce zapisac to sugeruje mi format bmp
ponadtwo nawet jak go zapisze mimo wszystko jako png
to dziala ok jak go potem wrzuce na strone ale w windowsie
wciaz jest rozpoznawany blednie jako bmp
ponadto jak chce go zauploadowac to
to skrypt tez mi jego tym mime pokazuje jako bmp
i juz jestem glupi i nie wiem co jest zle
dla porownania
mam podobny skrypcik
(starsza ubozsza wersja tego (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) )
wszystkie funkcje odnosnie tworzenia obrazka uzyte tak samo
i ten drugi skrypcik dziala ok i ma typ png
a tamten ktory jest tylko udoskonalona wersja nie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
niech mi ktos pomoze (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
ponizej kod tego drugiego co dziala jeszcze doklejam tak dla porownania

[php:1:5f88b6a479]<?php
Header("Content-type: image/png");
$img_des = ImageCreate(500,500);
$bialy = imagecolorallocate($img_des, 255, 255, 255);
//imagefill($img_des, 0, 0, $bialy);
imagecolortransparent($img_des, $bialy);
$img_src = ImageCreateFrompng("1.png");
$img_src2 = ImageCreateFrompng("2.png");



list($szer_a, $wys_a) = explode('||',$_POST['a']);
list($szer_b, $wys_b) = explode('||',$_POST['b']);

imagecopy ($img_des, $img_src, $szer_a, $wys_a, 0, 0, 32, 38);
imagecopy ($img_des, $img_src2, $szer_b, $wys_b, 0, 0, 38, 44);
imagepng($img_des);
imagedestroy($img_des);

?>[/php:1:5f88b6a479]

z gory dzieki za wszelka pomoc
Go to the top of the page
+Quote Post
tiamak
post
Post #2





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 21.05.2003
Skąd: Szczecin Niebuszewo

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


nie no problem jest na pewno w tym ze ten headerek sie mi nie przesyla
pytanie tylko czemu sie nie przesyla
jest ladnie na samej o gorze
nic przed nim nie ma
bledu nie wyswietla
(IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
eh
jakis pomysl (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
tiamak
post
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 21.05.2003
Skąd: Szczecin Niebuszewo

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


chociaz nie wiem czemu nie dziala to co pisalem
to juz zrobilem sobie troche inne rozwiazanie i dziala ok
mimo wszystko dzieki za zainteresowanie (widzialem ze pare osob znalazlo adres strony z tym skryptem i probowalo posprawdzac "w terenie")
Go to the top of the page
+Quote Post
spenalzo
post
Post #4





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


a) daj session_start przed Header
(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) usun "or die (mysql_error()) "
c) w ostateczności daj error_reporting(0);

Obstawiam a lub b (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
tiamak
post
Post #5





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 21.05.2003
Skąd: Szczecin Niebuszewo

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


ani jedno ani drugie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
probowalem tez bes sesji bo nie jest mi konieczna
i tez nic
ale mi to i tak jest potrzebne do zapisywania obrazkow
wiec dalem sobie
[php:1:4cf2c04b79]<?php
header("Content-Disposition: attachment; filename=zapiszmnie.png");
?>[/php:1:4cf2c04b79]
i od razu sie zapisuja i wtedy juz header jest poprawnie czytany
bynajmniej w ie6
anyway
dzieki za wskazowki (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post

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: 20.12.2025 - 13:06