From 10c09019cf9452972c4ba3ff46d718b13086d2e0 Mon Sep 17 00:00:00 2001 From: imura81gt Date: Sat, 7 Sep 2019 20:27:11 +0900 Subject: [PATCH 01/13] create imgconv (no test) --- kadai1/imura81gt/README.md | 158 +++++++++++++++ kadai1/imura81gt/imgconv/.gitignore | 2 + kadai1/imura81gt/imgconv/go.mod | 3 + kadai1/imura81gt/imgconv/go.sum | 1 + kadai1/imura81gt/imgconv/img/convert.go | 184 ++++++++++++++++++ kadai1/imura81gt/imgconv/main.go | 80 ++++++++ kadai1/imura81gt/imgconv/main_test.go | 1 + .../imgconv/testdata/chdir/gLenna.gif | Bin 0 -> 54239 bytes .../imgconv/testdata/chdir/jLenna.jpeg | Bin 0 -> 37985 bytes .../imgconv/testdata/chdir/pLenna.png | Bin 0 -> 731010 bytes kadai1/imura81gt/imgconv/testdata/gLenna.gif | Bin 0 -> 54239 bytes kadai1/imura81gt/imgconv/testdata/jLenna.jpg | Bin 0 -> 86219 bytes kadai1/imura81gt/imgconv/testdata/pLenna.png | Bin 0 -> 473831 bytes .../imgconv/testdata/this_is_not_image.gif | 0 .../imgconv/testdata/this_is_not_image.jpg | 0 .../imgconv/testdata/this_is_not_image.png | 0 16 files changed, 429 insertions(+) create mode 100644 kadai1/imura81gt/README.md create mode 100644 kadai1/imura81gt/imgconv/.gitignore create mode 100644 kadai1/imura81gt/imgconv/go.mod create mode 100644 kadai1/imura81gt/imgconv/go.sum create mode 100644 kadai1/imura81gt/imgconv/img/convert.go create mode 100644 kadai1/imura81gt/imgconv/main.go create mode 100644 kadai1/imura81gt/imgconv/main_test.go create mode 100644 kadai1/imura81gt/imgconv/testdata/chdir/gLenna.gif create mode 100644 kadai1/imura81gt/imgconv/testdata/chdir/jLenna.jpeg create mode 100644 kadai1/imura81gt/imgconv/testdata/chdir/pLenna.png create mode 100644 kadai1/imura81gt/imgconv/testdata/gLenna.gif create mode 100644 kadai1/imura81gt/imgconv/testdata/jLenna.jpg create mode 100644 kadai1/imura81gt/imgconv/testdata/pLenna.png create mode 100644 kadai1/imura81gt/imgconv/testdata/this_is_not_image.gif create mode 100644 kadai1/imura81gt/imgconv/testdata/this_is_not_image.jpg create mode 100644 kadai1/imura81gt/imgconv/testdata/this_is_not_image.png diff --git a/kadai1/imura81gt/README.md b/kadai1/imura81gt/README.md new file mode 100644 index 0000000..937b319 --- /dev/null +++ b/kadai1/imura81gt/README.md @@ -0,0 +1,158 @@ +Convert Image +================================================================================ + +TOC +-------------------------------------------------------------------------------- +- [Convert Image](#convert-image) + - [TOC](#toc) + - [Q. 【TRY】画像変換コマンドを作ろう](#q-try画像変換コマンドを作ろう) + - [Links](#links) + - [About filepath](#about-filepath) + - [About image](#about-image) + - [Build](#build) + - [Usage](#usage) + - [Test Data](#test-data) + - [Example](#example) + - [e.g. use no option](#eg-use-no-option) + - [e.g. use option](#eg-use-option) + +Q. 【TRY】画像変換コマンドを作ろう +-------------------------------------------------------------------------------- + +次の仕様を満たすコマンドを作って下さい + +- [x] 1. ディレクトリを指定する +- [x] 2. 指定したディレクトリ以下のJPGファイルをPNGに変換(デフォルト) +- [x] 3. ディレクトリ以下は再帰的に処理する +- [x] 4. 変換前と変換後の画像形式を指定できる(オプション) + +以下を満たすように開発してください + +- [x] 5. mainパッケージと分離する +- [x] 6. 自作パッケージと標準パッケージと準標準パッケージのみ使う + - 準標準パッケージ:golang.org/x以下のパッケージ +- [x] 8. ユーザ定義型を作ってみる +- [ ] 9. GoDocを生成してみる + + +Links +-------------------------------------------------------------------------------- + +### About filepath + +- https://golang.org/pkg/path/filepath/ + +### About image + +- [Package image](https://golang.org/pkg/image/) + - [gif](https://golang.org/pkg/image/gif/) + - [jpeg](https://golang.org/pkg/image/jpeg/) + - [png](https://golang.org/pkg/image/png/) + - get format + - [DecodeConfig](https://golang.org/pkg/image/#DecodeConfig) +- [The Go Blog](https://blog.golang.org/) + - [The Go image package](https://blog.golang.org/go-image-package#TOC_5.) + + +Build +-------------------------------------------------------------------------------- + +``` +cd $(go env GOPATH)/src/github.com/gopherdojo/dojo7/kadai1/imura81gt/imgconv +GO111MODULE=on go build +``` + +Usage +-------------------------------------------------------------------------------- + +``` +$ ./imgconv +./imgconv