GDで透かしを追加

//ヘッダーでimg画像であることを宣言
header("Content-Type: image/png");
//画像の読み込み
$dest = imagecreatefrompng('sample.png');
$src = imagecreatefrompng('watermark.png');

//元画像の幅と高さを取得
$dest_w = imagesx($dest);
$dest_h = imagesy($dest);

//透かしの幅と高さを取得
$src_w = imagesx($src);
$src_h = imagesx($src);

//透かしを表示する座標(画像の真ん中)
$dest_x = $dest_w/2-$src_w/2;
$dest_y = $dest_h/2-$src_h/2;


//画像を合成
//(画像リンク,透かしリンク,x座標,y座標,透かしx座標,透かしy座標,画像の幅,高さ,アルファ)
imagecopymerge($dest,$src,$dest_x,$dest_y,0,0,$src_w,$src_h,4);

//書き出し
imagepng($dest);

参考にしたサイト

  • http://www.phppro.jp/phpmanual/php/function.imagecopymerge.html
  • http://symfoware.blog68.fc2.com/blog-entry-861.html
  • http://php.net/manual/ja/function.imagecopymerge.php

PHP7でデータベースコネクト

PHP7系以降のバージョンでは、mysql関数が使用出来ない。

//データベースに接続($host, $username, $password, $dbname)
$mysqli = new mysqli('localhost','root','','database');
if ($mysqli->connect_error) {
error_log($mysqli->connect_error);
exit;
}

//クライアントのデフォルト文字セットをUTF-8に変更
$mysqli->set_charset("utf8");

データの取得

$sql =('select id,name from hoge');
$result = $mysqli -> query($sql);
while ($row = $result -> fetch_assoc()){
//ここに処理を書く
echo $row['name'];
}

参考にしたページ

  • http://qiita.com/kentyama/items/f7759807445c3863ccaa
  • http://replication.hatenablog.com/entry/2014/07/01/015350

$.ajax

基本的な書き方

function hoge(x,y){
		$.ajax({
		url: './sample.php',
		type: "GET",
		//変数を渡す(必要なければ省略)
		data: {
			id: x,
			password: y
		},
		dataType: "json",	
		success: function(data){
		//成功したときの処理
		console.log("こんにちは、" + data.name + "さん");
		},
		error:	function(){
		//失敗したときの処理
		console.log("エラー");
		}
	});
}

XAMPPでドキュメントルートを変更する方法(PHP7.1編)

ネットだとPHP5.6までの情報しかないので自己解決してみた。
今回はGoogleドライブを指定しています。

C:/xampp/htdocs

C:\Users\ユーザー名\GoogleDrive\htdocs

変更するファイル

  • C:\xampp\apache\conf\httpd.conf
  • C:\xampp\apache\conf\extra\httpd-xampp.conf

httpd.conf

245行目辺り

DocumentRoot “C:/xampp/htdocs”

DocumentRoot “C:\Users\ユーザー名\GoogleDrive\htdocs”

246行目辺り

<Directory “C:/xampp/htdocs”>

<Directory “C:\Users\ユーザー名\GoogleDrive\htdocs”>

httpd-xampp.conf

続いてxampp管理画面に「http://~/xampp/」でアクセスするためエイリアスを指定
※PHP5.6とコードの場所が違うので注意!

39行目辺り

<IfModule php7_module> ← ここがphp7であることを確認すること!
	PHPINIDir "C:/xampp/php"
</IfModule>

<IfModule mime_module>
	AddType text/html .php .phps
</IfModule>

ScriptAlias /php-cgi/ "C:/xampp/php/"
<Directory "C:/xampp/php">
	AllowOverride None
	Options None
	Require all denied
	<Files "php-cgi.exe">
		Require all granted
	</Files>
</Directory>

<IfModule php7_module>
	PHPINIDir "C:/xampp/php"
</IfModule>

<IfModule mime_module>
	AddType text/html .php .phps
</IfModule>

ScriptAlias /php-cgi/ "C:/xampp/php/"
Alias /xampp “C:\Users\ユーザー名\GoogleDrive\htdocs”
<Directory "C:/xampp/php">
	AllowOverride AuthConfig
	Order allow,deny
	Allow from all
	<Files "php-cgi.exe">
		Require all granted
	</Files>
</Directory>

 

参考にしたホームページ

  • http://wordpress.daihachi-systems.com/?p=33

画像に文字(テキスト)を書き込む

//ヘッダーでimg画像であることを宣言
header("Content-Type: image/png");
//新規イメージオブジェクトの生成
$img = imagecreate(300, 300);
//カラー情報を付与
$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
//表示するテキストを用意
$text = mb_convert_encoding('Hello world!','UTF-8','auto');
//ttfファイルへのリンク(要ttfファイル)
$font = 'ipagp.ttf';
//リソース、フォントサイズ、アングル(回転)、x座標、y座標(フォントペースライン)、フォント、テキスト
imagettftext($img,24,0,5,30,$black,$font,$text);
//書き出し
imagepng($img);

※一番最初にコールしたimagecolorallocateが自動で背景色にセットされる

画像の回転

//ヘッダーでimg画像であることを宣言
header("Content-Type: image/png");
//外部から画像の読み込み
$img = imagecreatefrompng('sample.png');
//背景色を指定
$color = imagecolorallocate($img, 0, 0, 0);
//画像を回転(リソース、角度、背景色)
$newimg = imagerotate($img, 45, $color);
//書き出し
imagepng($newimg);

GDでサムネイルを作る(画像の拡大と縮小)

画像の拡大と縮小


//ヘッダーでimg画像であることを宣言
header("Content-Type: image/png");
//外部から画像の読み込み
$img = imagecreatefrompng('sample03.png');
//読み込んだ画像の幅と高さを取得する
$width = imagesx($img);
$height = imagesy($img);
//新規イメージオブジェクトの作成
$out = imagecreatetruecolor($width/2, $height/2);
//リサンプリング処理。コピー元、コピー先、座標、コピー先の幅、コピー先の高さ、コピー元の幅、コピー元の高さ
imagecopyresampled($out, $img,0,0,0,0, $width/2, $height/2, $width, $height);
//書き出し
imagepng($out);

※imagecreatetruecolorはimagecreate の強化版

参考にしたサイト
http://www.geekpage.jp/web/php-gd/resize1.php
http://phpspot.net/php/man/php/function.imagecopyresampled.html

GD グラフィック ライブラリ

画像の生成

//ヘッダーでimg画像であることを宣言
header("Content-Type: image/png");
//新規イメージオブジェクトの生成
$img = imagecreate(200, 200);
//カラー情報を付与(対象、R、G、B)
imagecolorallocate($img, 255, 0, 0);
//書き出し
imagepng($img);

※imagecreateで扱えるのは256色まで、TrueColorイメージを扱いたい場合はimagecreatetruecolorを使う。

外部から画像の読み込み

//ヘッダーでimg画像であることを宣言
header("Content-Type: image/png");
//外部から画像の読み込み
$img = imagecreatefrompng('sample02.png');
//書き出し
imagepng($img);
参考にしたサイト
http://www.geekpage.jp/web/php-gd/imagefilledrectangle.php
http://phpspot.net/php/man/php/function.imagecolorallocate.html
http://ponk.jp/php/gd/kihon
http://www43.atpages.jp/opicon69/libgd/

jQueryとは

基本の型

jQuery( function ($) {
// この 中 に 処理 を 書く
});

※これ以外にも書き方あるけどHTMLの読み込み順を気にしないといけないなど不便なので使わない。

$( function($){
//処理 を ここ に 書く
});

※これでも動くけど$が別のライブラリーで使われてた場合に不具合が生じる

jQueryでできること

  • CSSの操作
  • DOM要素(HTML)を付け加えたり
  • AJAXを使った非同期でのjSONの取得やDOM要素の書き換え

$(jQuery)の基本的な使い方

$はjQueryの別名(エイリアス)
$(…)はjQuery(…)と書くこともできる!?

セレクター

$(” セレクター文字列”)
$(“#name”)

DOMの生成

$(“HTML文字列”)
$(“< li > 三郎 ”). appendTo(“# family”);
第 2 引数 に オブジェクト を 指定 する と、 その オブジェクト の プロパティ は、 HTML の 属性 として 設定 さ れ る。

jQuery( function ($) {
$("< a >", {
href: "abc. html",
target: "_blank",
”class”: "myClass"
});
});

jQuery オブジェクト

$( セレクター) を 呼び出す と、 jQuery オブジェクト が 返さ れ る。
SMXLL

メソッドチェーン:「つなげて書けるよ」ってこと

$("#color_div").css("border","1 px solid red").css("color","red");

※ただしwidthとかの「値」取得した場合は jQuery オブジェクト は 返っ てこないのでつなげられない。

Hello world!

WordPress へようこそ。これは最初の投稿です。編集もしくは削除してブログを始めてください !