読者です 読者をやめる 読者になる 読者になる

InkscapeでLINEスタンプ作成(LINEスタンプ作成入門)

はじめに

いまさらながら、LINEスタンプを作成しました。ツールとしてはInkscapeを利用しました。せっかくなので、Inkscapeでスタンプ画像を作成する方法を残します。

スタンプ画像を作る

LINEの制作ガイドラインによると、スタンプを作成するには以下の3つの画像が必要です。

  • メイン画像(1個、W240px×H240px)
  • スタンプ画像(8個,16個,24個,32個,40個、W370px×H320px) ←この記事ではこの画像を作成する方法を説明します。
  • トークルームタブ画像(1個、W96px×H74px)

ここでは、2つ目のスタンプ画像をInkscapeを使って作成する方法を説明します。

Inkscapeインストール

Inkscapeをインストールします。

私はmacosなので、InkscapeのMac(OSX Yosemite 10.10.5)へのインストールを参考にしました。

テンプレート作成

ここでは8個のスタンプを作成するテンプレートを作ってみます。

ドキュメントのサイズ設定

Inkscapeを起動し、ファイル>ドキュメントのプロパティをクリックします。 すると、「ドキュメントのプロパティ」サブウィンドウが開くので以下を設定します。

  • 単位:px
  • 幅:750(=370×2+10×(2-1))
  • 高さ:1310(=320×4+10×(4-1))

f:id:machoblog:20170109111723p:plain

レイヤー作成

レイヤー>レイヤーをクリックします。 すると右にレイヤーのパネルが開くので、「+」をクリックし以下の6つのレイヤーを作成します。 なお、レイヤーを右クリックし「レイヤー名の変更」でレイヤー名を変更できます。

私は6つのレイヤーを作成しましたが、ご自身が作業しやすい数のレイヤーを作成して下さい。

  • text:「おはよう」などの文字や、動きを表す線や汗など一番上に表示したいもの
  • color:絵の色
  • draw:絵の輪郭線
  • rough:紙に描いた下書きの写真を貼る
  • mark:余白を表す枠を描く
  • 370*320:pngにエクスポートするときに利用する

f:id:machoblog:20170109102339p:plain

370px×320pxの透明の枠を作成

まず、先ほど作成した370*320のレイヤーを選択します。

f:id:machoblog:20170109120659p:plain

矩形ツール(左の□のマーク)で、長方形を描きます。 透明の長方形を作りたいので、色がついた長方形が作成されてしまった場合 オブジェクト>フィルとストロークで、フィルとストロークを「塗りなし」にします。

f:id:machoblog:20170109120838p:plain

選択ツール(左の矢印のマーク)で作成した長方形を選択し、位置とサイズを以下のように設定します。

  • x:0
  • y:0
  • 幅:370
  • 高さ:320

f:id:machoblog:20170109132143p:plain

余白を表す枠の作成

次はmarkのレイヤーを選択します。 このとき先ほど作成した370px×320pxの枠を誤って編集しないように、370*320のレイヤーをロックします。

f:id:machoblog:20170109133257p:plain

そして、先ほどと同様に矩形ツールで以下のような長方形を描きます。

f:id:machoblog:20170109141233p:plain

370px×320pxの透明の枠と余白を表す枠を複製し、8つにする

まず370*320のレイヤーのロックを外します。 そして、選択ツール(左の矢印のマーク)で枠を選択し、右クリック>複製 をクリックします。

f:id:machoblog:20170109141802p:plain

複製した370px×320pxの透明の枠と余白を表す枠の位置を以下のように設定します。

  • x:380px
  • y:0px

次に2組の枠を選択し、さらに複製します。 f:id:machoblog:20170109142101p:plain

さらに複製した枠の位置を以下のように設定します。

  • x:0px
  • y:330px

f:id:machoblog:20170109142400p:plain

同様に複製し、最終的に8組にします。

f:id:machoblog:20170109142510p:plain

以上でテンプレートの作成は終了です。

絵を描く

紙に描いた下絵の写真をroughレイヤーに貼り付ける

roughレイヤーを選択し、ファイル>インポート で下絵の写真をインポートします。

f:id:machoblog:20170109142808p:plain

輪郭線を描く

drawレイヤーを選択し、鉛筆ツール(左の鉛筆のマーク)で下絵をなぞります。 このとき「スムージング」は50にしておきます。

f:id:machoblog:20170109143115p:plain

輪郭線のスタイルを設定する

選択ツール(左の矢印のマーク)で輪郭線を選択し、オブジェクト>フィル/ストロークを選択し、以下のようにストロークのスタイルを設定します。

幅:5px

私は線の色は少し灰色にしています。

輪郭線を整える

ノードツールで輪郭線を整えます。

f:id:machoblog:20170109143618p:plain

色を塗る

colorレイヤーを選択し、バケツツールで色を塗ります。オブジェクト>フィル/ストローク で塗った領域のストロークとフィルは後から変更できます。

f:id:machoblog:20170109143933p:plain

文字やエフェクトなどを描く

textレイヤーを選択し、文字やエフェクトを描きます。ここでは汗をかいています。

f:id:machoblog:20170109144038p:plain

以上でスタンプ画像は完成です。次はpngファイルにエクスポートします。

PNGファイルとしてエクスポート

レイヤー>レイヤー でrough,markレイヤーを非表示にします。 370px×320pxの透明の枠を選択し、ファイル>PNGファイルとしてエクスポートを選択します。

f:id:machoblog:20170109182221p:plain

サイズとdpiが下図のようになっていることを確認し、エクスポートします。

その他の画像を作成する

メイン画像とトークルームタブ画像も、スタンプ画像と同様に作成します。スタンプ画像とは異なり、余白の指定はないようです。

LINE クリエーターズマーケットに登録し、作成した画像をアップロードする

あとは作成した画像をアップロードします。

保存版!もう迷わない!自作LINEスタンプを申請・登録する時の6つのポイント | ホームページ制作の合同会社ジョイネット をご参照ください。

さいごに

Inkscapeでスタンプ画像を作成する方法についての説明は以上です。 このブログは、クリエーターズマーケットでスタンプの審査リクエストを出すときの「作品を確認できるURL」とするために作成しました。私が作成した他のいくつかのスタンプも紹介させてください。

他のスタンプ

f:id:machoblog:20170110080346p:plainf:id:machoblog:20170110080352p:plainf:id:machoblog:20170110080358p:plain

以上です。

XQuartzをインストールしようとすると検証中というダイアログが出て進まない

MacOSXにIncscapeをインストールするには、以下のサイトによると、XQuartzをインストールする必要があるようでした。

InkscapeのMac(OSX Yosemite 10.10.5)へのインストール - モーリーのメモ

そこで、XQuartz-2.7.11.dmgをダウンロードし、ダウンロードしたファイルをダブルクリックしXQuartz.pkgをダブルクリックしたところ、以下のようになりインストールが進まなくなりました。

f:id:machoblog:20161224122233p:plain

調べたところ、以下のコマンドを実行することで、インストールできました。原因はわかりませんでした。

$ cd /Volumes/XQuartz-2.7.11
$ sudo installer -package Quartz.pkg -target /
installer: Package name is XQuartz 2.7.11
installer: Installing at base path /
installer: the install was successfil. 

参考にしたサイトは以下です。

VirtualBoxをインストール中、「VirtualBox.pkgを検証中」から進まない時の対応 - Qiita

以上です。

かんたん!derbyでJDBC入門1(コネクションを取得する)

はじめに

新人研修でJDBCをやったことがある人は多いと思います。私も例に漏れずJDBCをやりました。やったはずなのですが、いざ自分一人で家でやってみると、MySQLをインストールしたりドライバをダウンロードして設定したりと、意外と時間がかかりました。

最近、jdkにあらかじめ入っているderbyを使って簡単にJDBCを利用するプログラムを書く方法を知ったので紹介します。 また、JDBCを利用するプログラムを書いていて疑問に感じた点を「さいごに」に残します。

前提

  • Eclipse4
  • Java8

さっそくコーディング

下のようにコーディングして、実行してみます。

package test;

import java.sql.Connection;
import java.sql.DriverManager;

public class TestDatabaseConnection {
    public static void main(String[] args) throws Exception {
        
        // JDBC4.0から不要になった。「さいごに」参照。
//     Class.forName("org.apache.derby.jdbc.AutoloadedDriver");
        
        // URL(jdbc:derby:zoo;create=true)については「さいごに」参照。create=trueはなかったら作るということ。
        try (Connection conn = DriverManager.getConnection("jdbc:derby:zoo;create=true")) {
            // データベースを利用する処理
        }
    }
}

失敗しました。

Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:derby:zoo
    at java.sql.DriverManager.getConnection(DriverManager.java:689)
    at java.sql.DriverManager.getConnection(DriverManager.java:270)
    at test.TestDatabaseConnection.main(TestDatabaseConnection.java:9)

Driverがないと言われてしまいました。 Driverの実装クラスはderby.jarに入っているので、derby.jarをクラスパスに追加します。

derby.jarをクラスパスに設定する。

ここでは、derby.jarをクラスパスに設定します。 derby.jarは、idkにあらかじめ入っているJavaDBを利用するためのJDBCの実装クラスを提供するJARです。 idkにあらかじめ入っているので、データベースをインストールしてドライバのダウンロードして...といった作業が不要です。 ちょっとJDBCの練習をしたいというときに便利だと思います。

プロジェクトを右クリック→ビルドパス→外部アーカイブの追加 で、derby.jarを選択します。

f:id:machoblog:20161217135023p:plain

derby.jarは 【idkのインストールディレクトリ】/Contents/Home/db/lib にあります。

f:id:machoblog:20161217135242p:plain

再び実行

再び実行すると上手くいきます

さいごに

仕事ではJDBCを使う機会はあまりないと思いますが、資格の勉強等でJDBCのサンプルコードを動かしてみたいと思ったときにここで説明した方法が役に立つと思います。 以下、コーディング中に気になったことを残します。

【補足】Class.forName("java.sql.Driverの実装クラス名")がJDBC4.0から不要になった

/META-INF/services/java.sql.Driverというファイルに実装クラスが定義されることになったため、Class.forNameでjava.sql.Driverの実装クラスを読み込む必要がなくなりました。

derby.jarを展開したものの中身

f:id:machoblog:20161217141307p:plain

java.sql.Driver

org.apache.derby.jdbc.AutoLoadedDriver

【補足】Connectionを取得する時のURL

Connectionを取得するときのURLの構成について説明します。

プロトコル(jdbc固定)】:【製品名】:【データベース固有の値】

jdbc:derby:zoo

【製品名】は、たとえばMySQLでは"mysql"となり、製品ごとに異なります。

【データベース固有の値】には"localhost:3360:mydb"のように{ホスト名}:{ポート}:{データベース名}となることもあります。

以上です。