透過PNGで画像をマスクする


 //ヘッダーでimg画像であることを宣言
header("Content-Type: image/png");

//新規イメージオブジェクトの生成
$base_img = imagecreatefromjpeg('https://yt3.ggpht.com/-QsbVHJovyOM/AAAAAAAAAAI/AAAAAAAAAAA/0fttNKee47I/s48-c-k-no-mo-rj-c0xffffff/photo.jpg');
$mask_img = imagecreatefrompng('mask.png');

//アルファブレンディングフラグを設定(どうゆうこと?)
 imagelayereffect($base_img, IMG_EFFECT_OVERLAY);

//アルファチャンネルを有効にする
 imagesavealpha($base_img,true);

//カラー情報を付与
 $white = imagecolorallocate($mask_img, 255, 255, 255);
 imagecolortransparent($mask_img, $white);

//座標を取得してマスク画像をかぶせる
 $src_w = imagesx($mask_img);
 $src_h = imagesy($mask_img);
 imagecopy($base_img,$mask_img,0,0,0,0,$src_w,$src_h);

//書き出し
 imagepng($base_img);
 imagedestroy($mask_img);
 imagedestroy($base_img);

YouTubeチャンネル登録者15万人の壁を破る方法


ジャンルにのよりますが、YouTubeチャンネル登録数は内部の施策だけでは15万人が限界。
さらに上を目指すには対外的にPRをして自分の協力者を増やす必要がある。

何をすればいい?(What)

ニュースを作ってメディアに伝える!

ユーザーから逆算してメディアを選ぶ

エンドユーザーが見ているメディアを逆算して、そのメディアを分析する

どうやったらメディアが振り向いてもらえるか?

信頼性の担保

メディアは個人に連絡を取るのは不安なので、ちゃんとしてることをアピールする。

ファーストステップ

  • 独自ドメインの公式サイト(拠点)←OK

セカンドステップ

  • 読者が興味を引くニュースを第三者を通じて定期的に配信する
  • そのチャンネルの社会的意義を明確にして発信する←△

読者が興味を引くニュース

メディアは「業界初、ナンバーワン」などの言葉が好き

 

多言語

なぜ今?

頻度は?

ベンチャーは3カ月毎、大手企業なら毎月

 

一つのメディアに載ると他にも来る

広告はドーピング

広報は漢方

アドバイザー

ブルームーン・マーケティング株式会社

代表取締役 野田彩子

 

※この投稿は管理人がYouTubeビジネス・アクセラレーター・プログラムに参加したときに教わった内容を整理するために個人的にまとめた物です。

YouTuber(ユーチューバー)が出版で成功するために必要なチャンネル登録数

方法は二つ、「売り込み」と「紹介」

出版業界が求めるYouTubeのチャンネル登録数

ズバリ、5万人(2017年現在)

出版社に提出するもの

  • タイトル案
  • サブタイトル
  • プロフィール
  • 主旨
  • 構成案(目次案)

プレゼン(編集者に対して伝える事)

  • 一言で何が売りの本なのか?(30秒で説明できること)
  • 一言で何が売りの著者なのか?
  • 一言で何が売りの本づくりなのか?
  • 書店でどのジャンル(売り場)に置きたいのか?
  • 類似の書籍よりどこが魅力的なのか?

どんな人の企画が通りやすいか?出版社が注目するポイント

  • SNSで数字を持っている人
  • 実績、経験()
  • 第三者の視点(YouTubeアンバサダー)
  • 発信力を持っている人

  • 見た目、人格者

NG

  • 原稿を書いてしまう(出版社がやる仕事、分業制で構成やイラストなど多岐にかかわる。餅は餅屋。)
  • テーマがない
  • SNS発信力が弱い(芸能人でもSNSを持っていない人はダメ)
  • 実績がない

アプローチ方法

自分と近いジャンルの本を出している出版社に電話をして編集者の名前を聞く ← ポイント

※上のような問い合わせが増えると編集者の社内での評判が上がり喜ばれる

出版後の動向

台湾、韓国、香港からの問い合わせが増える!

上の三つの国はYouTuberがこれから出ようとする国、企業は必死になって売れるYouTuberを探している。

※数字だけほしい変な奴も多いので取捨選択をしっかりすること

ブランド向上に興味のある人とコラボする

フォームFormのデータをJSON+Ajaxで送る

<form action = "./php/send_mail.php" method = "post">
<dl>
     <dt>
     <span class = "required">お名前</span></dt>
     <dd><input type = "text" name = "name" class = "name" requied></dd>
     <dt><span class = "required">メールアドレス</span></dt>
     <dd><input type = "text" name = "email" class = "email" requied></dd>
     <dt>お問い合わせ内容</dt>
     <dd>
          <select name = "type" class = "type">
               <option value = "レコーディングのご依頼">レコーディングのご依頼</option>
               <option value = "演奏、出演のご依頼">演奏、出演のご依頼</option>
               <option value = "楽曲制作、編曲のご依頼">楽曲制作、編曲のご依頼</option>
               <option value = "その他のお問い合わせ">その他のお問い合わせ</option>
          </select>
     </dd>
     <dt>メッセージ</dt>
     <dd><textarea name = "message" class = "message"></textarea></dd>
</dl>
<button type="submit" name="action" value="send">Submit</button>
</form>

$(function(){
     $('form').submit(function(event) {
          //送信ボタンのキャンセル
          event.preventDefault();
          //serializeとJSON.stringifyを使ってシリアライズしたデータをJSONに加工
          var JSONdata = JSON.stringify( $( 'form' ).serializeArray() );
          $.ajax({
               url: './php/send_mail.php',
               type: 'post',
               data: JSONdata,
     })     
     .done(function(data) {
          // data にサーバーから返された html が入る
          // 通信が成功したときの処理
          alert('成功');
          //メッセージの表示切替
          $("#contact-box").replaceWith("<h4>お問い合わせいただきありがとうございます。</h4>");
     }) 
     .fail(function(data) {
          // 通信が失敗したときの処理
          //alert('失敗');
     })
     .always(function(data) {
          // 通信が完了したとき
     });
});

 

参考リンク

https://teratail.com/questions/56108

jQueryでフォームをAjax送信する際の基本パターンのチュートリアル。二重送信の防御とか。


https://qiita.com/hkomo746/items/c18dcf4471cc5dc6d769
https://qiita.com/kidatti/items/21cc5c5154dbbb1aa27f

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