[GD] Zwarte balk
Ik heb voor een fotoupload systeem iets gemaakt waar (voor als dat aangevinkt is) de foto gedraaid wordt. Maar als ik dit dan probeer komt er een zwarte balk naast het plaatje. Het plaatje wordt btw ook verkleint. ik krijg geen errors ofzo.
BVD
Jorn
de code waar de fout in zou moeten zitten:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
move_uploaded_file($_FILES['bestand']['tmp_name'], $map."/groot.jpg");
list($width, $height, $image_type) = getimagesize($map."/groot.jpg");
$max_width = 500;
$max_height = 500;
$max_width_klein = 100;
$max_height_klein = 100;
$klein_verhouding_width = $max_width/$max_width_klein;
$klein_verhouding_height = $max_height/$max_height_klein;
if($width <= $max_width && $height <= $max_height) {
$new_height = $height;
$new_width = $width;
$soort = "klein";
}else{
if($width > $height) {
$soort = "liggend";
}elseif($height > $width) {
$soort = "staand";
}elseif($height == $width) {
$soort = "vierkant";
}
if($soort == "liggend") {
$procent = $height/$width;
$new_height = $max_height*$procent;
$new_width = $max_width;
}elseif($soort == "staand") {
$procent = $width/$height;
$new_height = $max_height;
$new_width = $max_width*$procent;
}elseif($soort == "vierkant") {
$new_height = $max_height;
$new_width = $max_width;
}
}
if($_POST['draai'] == "ja") {
$tussen_height = $new_height;
$new_height = $new_width;
$new_width = $tussen_height;
}
$resize = imagecreatetruecolor($new_width, $new_height);
if($_POST['draai'] == "ja") {
$source = imagerotate(imagecreatefromjpeg($map."/groot.jpg"), 270, 0, 0);
}else{
$source = imagecreatefromjpeg($map."/groot.jpg");
}
imagecopyresized($resize, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($resize, $map."/groot.jpg", 100);
$new_height_klein = $new_height/$klein_verhouding_height;
$new_width_klein = $new_width/$klein_verhouding_width;
$resize_klein = imagecreatetruecolor($new_width_klein, $new_height_klein);
$source_klein = imagecreatefromjpeg($map."/groot.jpg");
imagecopyresized($resize_klein, $source_klein, 0, 0, 0, 0, $new_width_klein, $new_height_klein, $new_width, $new_height);
imagejpeg($resize_klein, $map."/klein.jpg", 100);
?>
move_uploaded_file($_FILES['bestand']['tmp_name'], $map."/groot.jpg");
list($width, $height, $image_type) = getimagesize($map."/groot.jpg");
$max_width = 500;
$max_height = 500;
$max_width_klein = 100;
$max_height_klein = 100;
$klein_verhouding_width = $max_width/$max_width_klein;
$klein_verhouding_height = $max_height/$max_height_klein;
if($width <= $max_width && $height <= $max_height) {
$new_height = $height;
$new_width = $width;
$soort = "klein";
}else{
if($width > $height) {
$soort = "liggend";
}elseif($height > $width) {
$soort = "staand";
}elseif($height == $width) {
$soort = "vierkant";
}
if($soort == "liggend") {
$procent = $height/$width;
$new_height = $max_height*$procent;
$new_width = $max_width;
}elseif($soort == "staand") {
$procent = $width/$height;
$new_height = $max_height;
$new_width = $max_width*$procent;
}elseif($soort == "vierkant") {
$new_height = $max_height;
$new_width = $max_width;
}
}
if($_POST['draai'] == "ja") {
$tussen_height = $new_height;
$new_height = $new_width;
$new_width = $tussen_height;
}
$resize = imagecreatetruecolor($new_width, $new_height);
if($_POST['draai'] == "ja") {
$source = imagerotate(imagecreatefromjpeg($map."/groot.jpg"), 270, 0, 0);
}else{
$source = imagecreatefromjpeg($map."/groot.jpg");
}
imagecopyresized($resize, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($resize, $map."/groot.jpg", 100);
$new_height_klein = $new_height/$klein_verhouding_height;
$new_width_klein = $new_width/$klein_verhouding_width;
$resize_klein = imagecreatetruecolor($new_width_klein, $new_height_klein);
$source_klein = imagecreatefromjpeg($map."/groot.jpg");
imagecopyresized($resize_klein, $source_klein, 0, 0, 0, 0, $new_width_klein, $new_height_klein, $new_width, $new_height);
imagejpeg($resize_klein, $map."/klein.jpg", 100);
?>
Gewijzigd op 01/01/1970 01:00:00 door Jorn Engelbart
Vervangen door :
imagealphablending($source_img, false);
$background = imagecolorallocate($sourceimg, 0, 0, 0);
imagecolortransparent($source_img, $background);
imagecopyresized($resize, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagesavealpha($source, true);
Hoop dat je er wat aan heb
Dan moet je wel opslaan als gif of png trouwens want de rest van de formaten ondersteunt geen transparantie (en IE6 ook niet voor png)
Gewijzigd op 01/01/1970 01:00:00 door Jacco Engel
Code (php)
1
2
3
2
3
imagecopyresized($resize, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($resize, $map."/groot.jpg", 100);
imagejpeg($resize, $map."/groot.jpg", 100);
vervangen door:
Alleen nu werkt het stukje eronder niet meer van het kleine fototje :S ik krijg alleen grijs plaatje :S
Klopt ook niet :( :S
@ jacco maar de afbeelding klopt in verhouding ook niet hij is te smal
Gewijzigd op 01/01/1970 01:00:00 door Jorn Engelbart