質問編集履歴
7
質問文を追加しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -98,4 +98,13 @@
|
|
98
98
|
//imagepng($im);//文字化けした文字が一緒に表示されてしまうのでコメントアウト。
|
99
99
|
//imagedestroy($im);
|
100
100
|
?>
|
101
|
+
|
102
|
+
```
|
103
|
+
- pngをファイルに保存する。
|
104
|
+
pngをファイルに保存するときは、以下のプログラムを使いました。
|
105
|
+
このプログラムを実行すると、phpファイルと同じ階層に120*20pxのtest.pngが作成されました。
|
106
|
+
```PHP
|
107
|
+
<?php
|
108
|
+
$im = @imagecreatetruecolor(120, 20);
|
109
|
+
imagepng($im, "test.png");
|
101
110
|
```
|
6
情報の追加をしました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -34,12 +34,35 @@
|
|
34
34
|
?>
|
35
35
|
```
|
36
36
|
###ためしたこと
|
37
|
-
|
37
|
+
- headerの位置をimagepngの直前にする。
|
38
|
-
|
38
|
+
- headerの位置をimagedestroyの直後にする。
|
39
|
-
|
39
|
+
- headerの位置をプログラムの先頭にする。
|
40
|
-
|
40
|
+
- $fontのパスを絶対パス(```C:\Windows\Fonts\ARIALNB.TTF```と```C:\xampp\htdocs\arial.ttf```)を指定する。
|
41
|
-
|
41
|
+
- $fontを```dirname(__FILE__) . 'arial.ttf'```もしくは```__DIR__ . 'arial.ttf'```とする。
|
42
|
+
- ```error_reporting(E_ALL)```でエラーが表示されないか確認する。
|
43
|
+
- ```phpinfo()```と```gd_info()```でGDライブラリがインストールされているか確認する。
|
44
|
+
####phpinfo()の結果
|
45
|
+

|
46
|
+
####gd_info()の結果
|
47
|
+
```PHP
|
48
|
+
Array
|
49
|
+
(
|
50
|
+
[GD Version] => bundled (2.1.0 compatible)
|
51
|
+
[FreeType Support] => 1
|
52
|
+
[FreeType Linkage] => with freetype
|
53
|
+
[GIF Read Support] => 1
|
54
|
+
[GIF Create Support] => 1
|
55
|
+
[JPEG Support] => 1
|
56
|
+
[PNG Support] => 1
|
57
|
+
[WBMP Support] => 1
|
58
|
+
[XPM Support] => 1
|
59
|
+
[XBM Support] => 1
|
60
|
+
[WebP Support] => 1
|
61
|
+
[JIS-mapped Japanese Font Support] =>
|
62
|
+
)
|
63
|
+
|
64
|
+
```
|
42
|
-
|
65
|
+
- filesize($font)の実行。
|
43
66
|
####filesize($font)の実行
|
44
67
|
以下のようにプログラムを編集して、filesize($font)を表示しました。
|
45
68
|
$fontのパスは```C:\Windows\Fonts\ARIALNB.TTF```と```C:\xampp\htdocs\arial.ttf```の両方を試しました。
|
5
file\(\$path\)の追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -37,12 +37,13 @@
|
|
37
37
|
0. headerの位置をimagepngの直前にする。
|
38
38
|
0. headerの位置をimagedestroyの直後にする。
|
39
39
|
0. headerの位置をプログラムの先頭にする。
|
40
|
-
0. $fontのパスを絶対パス(C:\Windows\Fonts\ARIALNB.TTFとC:\xampp\htdocs\arial.ttf)を指定する。
|
40
|
+
0. $fontのパスを絶対パス(```C:\Windows\Fonts\ARIALNB.TTF```と```C:\xampp\htdocs\arial.ttf```)を指定する。
|
41
41
|
0. $fontを```dirname(__FILE__) . 'arial.ttf'```もしくは```__DIR__ . 'arial.ttf'```とする。
|
42
42
|
0. filesize($font)の実行。
|
43
43
|
####filesize($font)の実行
|
44
44
|
以下のようにプログラムを編集して、filesize($font)を表示しました。
|
45
|
+
$fontのパスは```C:\Windows\Fonts\ARIALNB.TTF```と```C:\xampp\htdocs\arial.ttf```の両方を試しました。
|
45
|
-
実行すると**367112**という文字が表示されました。
|
46
|
+
実行するとどちらのパスを指定した場合も**367112**という文字が表示されました。
|
46
47
|
```PHP
|
47
48
|
<?php
|
48
49
|
// コンテントタイプを設定します
|
@@ -60,7 +61,7 @@
|
|
60
61
|
// 描画する文字列
|
61
62
|
$text = 'Testing...';
|
62
63
|
// フォント自身のパスでパスを置き換えます
|
63
|
-
$font = 'arial.ttf';
|
64
|
+
$font = 'arial.ttf';//`C:\Windows\Fonts\ARIALNB.TTFとC:\xampp\htdocs\arial.ttfで試す。
|
64
65
|
|
65
66
|
// テキストに影を付けます
|
66
67
|
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
|
4
追記の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -38,4 +38,40 @@
|
|
38
38
|
0. headerの位置をimagedestroyの直後にする。
|
39
39
|
0. headerの位置をプログラムの先頭にする。
|
40
40
|
0. $fontのパスを絶対パス(C:\Windows\Fonts\ARIALNB.TTFとC:\xampp\htdocs\arial.ttf)を指定する。
|
41
|
-
0. $fontを```dirname(__FILE__) . 'arial.ttf'```もしくは```__DIR__ . 'arial.ttf'```とする。
|
41
|
+
0. $fontを```dirname(__FILE__) . 'arial.ttf'```もしくは```__DIR__ . 'arial.ttf'```とする。
|
42
|
+
0. filesize($font)の実行。
|
43
|
+
####filesize($font)の実行
|
44
|
+
以下のようにプログラムを編集して、filesize($font)を表示しました。
|
45
|
+
実行すると**367112**という文字が表示されました。
|
46
|
+
```PHP
|
47
|
+
<?php
|
48
|
+
// コンテントタイプを設定します
|
49
|
+
//header('Content-Type: image/png');//headerをコメントアウト
|
50
|
+
|
51
|
+
// 画像を生成します
|
52
|
+
$im = imagecreatetruecolor(400, 30);
|
53
|
+
|
54
|
+
// いくつかの色を生成します
|
55
|
+
$white = imagecolorallocate($im, 255, 255, 255);
|
56
|
+
$grey = imagecolorallocate($im, 128, 128, 128);
|
57
|
+
$black = imagecolorallocate($im, 0, 0, 0);
|
58
|
+
imagefilledrectangle($im, 0, 0, 399, 29, $white);
|
59
|
+
|
60
|
+
// 描画する文字列
|
61
|
+
$text = 'Testing...';
|
62
|
+
// フォント自身のパスでパスを置き換えます
|
63
|
+
$font = 'arial.ttf';
|
64
|
+
|
65
|
+
// テキストに影を付けます
|
66
|
+
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
|
67
|
+
|
68
|
+
// テキストを追加します
|
69
|
+
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
|
70
|
+
|
71
|
+
echo filesize($font);//ファイルサイズ表示
|
72
|
+
|
73
|
+
// imagepng() を使用して imagejpeg() よりもクリアなテキストにします
|
74
|
+
//imagepng($im);//文字化けした文字が一緒に表示されてしまうのでコメントアウト。
|
75
|
+
//imagedestroy($im);
|
76
|
+
?>
|
77
|
+
```
|
3
ためしたことを追加しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -37,4 +37,5 @@
|
|
37
37
|
0. headerの位置をimagepngの直前にする。
|
38
38
|
0. headerの位置をimagedestroyの直後にする。
|
39
39
|
0. headerの位置をプログラムの先頭にする。
|
40
|
-
0. $fontのパスを絶対パス(C:\Windows\Fonts\ARIALNB.TTFとC:\xampp\htdocs\arial.ttf)を指定する。
|
40
|
+
0. $fontのパスを絶対パス(C:\Windows\Fonts\ARIALNB.TTFとC:\xampp\htdocs\arial.ttf)を指定する。
|
41
|
+
0. $fontを```dirname(__FILE__) . 'arial.ttf'```もしくは```__DIR__ . 'arial.ttf'```とする。
|
2
いろいろ変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -37,4 +37,4 @@
|
|
37
37
|
0. headerの位置をimagepngの直前にする。
|
38
38
|
0. headerの位置をimagedestroyの直後にする。
|
39
39
|
0. headerの位置をプログラムの先頭にする。
|
40
|
-
0.
|
40
|
+
0. $fontのパスを絶対パス(C:\Windows\Fonts\ARIALNB.TTFとC:\xampp\htdocs\arial.ttf)を指定する。
|
1
情報の追加をしました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
###前提・実現したいこと
|
2
|
-
|
2
|
+
windows7でxamppをインストールしました。PHPのバージョンはPHP7です。
|
3
3
|
|
4
4
|
###発生している問題・エラーメッセージ
|
5
5
|
imagettftextを使い画像をブラウザに出力しようと思ってマニュアルの例1にある下のプログラムを実行しましたが、**画像ファイルhttp://localhost/hoge.phpは壊れているため、表示できませんでした。**と表示されてマニュアルの出力例のようにならないです。arial.ttfはphpファイルと同じ階層におきました。いったい何が違うのでしょうか?
|
@@ -32,4 +32,9 @@
|
|
32
32
|
imagepng($im);
|
33
33
|
imagedestroy($im);
|
34
34
|
?>
|
35
|
-
```
|
35
|
+
```
|
36
|
+
###ためしたこと
|
37
|
+
0. headerの位置をimagepngの直前にする。
|
38
|
+
0. headerの位置をimagedestroyの直後にする。
|
39
|
+
0. headerの位置をプログラムの先頭にする。
|
40
|
+
0. arial.ttfを絶対パス(C:\Windows\Fonts\ARIALNB.TTFとC:\xampp\htdocs\arial.ttf)を指定する。
|