Vraag : De pasvorm van het centrum. Het beeldgrootte van GD

Hello, basis op het laatste manuscript probeer ik aan cropt aan het centrum maar paste de oude grootte aan de nieuwe grootte waar als langer dan het bij de hoogte als langer ophoudt het bij de breedte. ophoudt. zo past het met uit vervorming. Ik heb hersenen fart en weet niet waar ik afging aangezien ik het had die. werkt. één van die dagen. tk voor de hulp. Juicht - Jeremy toe
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
van het
The deel van het manuscript van de andere vraag… 

						$src_x = $src_y = 0;
						$src_w = $src_w;
						$src_h = $src_h;
						$cmp_x = $src_with $dst_w;
						$cmp_y = $src_h/$dst_h;
						// berekent x of ycoördinaat en breedte of hoogte van bron
						als ($cmp_x > $cmp_y) {
							$src_w = ronde (($src_with $cmp_x * $cmp_y));
							$src_x = ronde (($src_w - ($src_with $cmp_x * $cmp_y))/2);
						} elseif ($cmp_y > $cmp_x) {
							$src_h = ronde (($src_h/$cmp_y * $cmp_x));
							$src_y = ronde (($src_h - ($src_h/$cmp_y * $cmp_x))/2);
						}
						$dst_w=$numWidth;
						$dst_h=$numHeight;
						$src_w=$this->arrOriginalDetails [0];
						$src_h=$this->arrOriginalDetails [1];
Related Oplossingen: php GD crop

Antwoord : De pasvorm van het centrum. Het beeldgrootte van GD

Hey jeremyBass26:

Ik bracht een paar veranderingen in de code aan om te doen wat u beschreef.

De nieuwe beelddimensies worden geplaatst met de variabelen $reSizeW en $reSizeH.  In dit voorbeeld gebruiken wij 300 X 75.

Dit keer als het bronbeeld 600 x 200 is:
Het nieuwe Beeld zal 300 X 75 zijn.
Maar het zal slechts aanvang bij positie (0, 25) met een breedte van 600 en hoogte van 150. dat manier bebouwen het de aspectverhouding bewaart.
Zo werden hoogste px 25 en onderste px 25 bebouwd van origineel alvorens re-size

Als het bronbeeld 1500 X 750 is:
Het nieuwe beeld zal 300 X 75 zijn.
Het zal beginnen bebouwend de originele aanvang als positie (0, 188) met een breedte en een hoogte van 1500 en een hoogte van 375 om de aspectverhouding te bewaren.
zo werden hoogste px 188 en onderste px 188 bebouwd van origineel alvorens re-size.


Geef het een poging en laat me weten of is dit wat u wilde.


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:
67:
68:
69:
70:
71:
72:
73:
 1) {
		//New het beeld is breed
		$src_x = 0;
		$src_y = ronde (($Original_H/2) -  (($Original_With$aspect_ratio)/2));
		
		$src_w = $Original_W;
		$src_h = $Original_With$aspect_ratio;
	} anders {
		//New het beeld is lang
		$src_x = ronde (($Original_With 2) -  (($Original_H * $aspect_ratio) /2));
		$src_y = 0;
		
		$src_w = $Original_H * $aspect_ratio;
		$src_h = $Original_H;
	}

	
	
	$centerFitImage = imagecreatetruecolor ($newW, $newH);
	imagecopyresampled ($centerFitImage, $source, 0, 0, $src_x, $src_y,  $newW, $newH, $src_w, $src_h);
	
	Het Beeld van de Moeilijke situatie van het Centrum van //Save.
	imagejpeg ($centerFitImage, „new_center.jpg“);


? >
Andere oplossingen  
 
programming4us programming4us