1 | # daycaca
|
2 |
|
3 | [![CircleCI](https://circleci.com/gh/JackPu/daycaca.svg?style=shield)](https://circleci.com/gh/JackPu/daycaca)
|
4 | [![npm](https://img.shields.io/npm/v/daycaca.svg?maxAge=2592000)]()
|
5 |
|
6 |
|
7 | <img src="http://img1.vued.vanthink.cn/vuede494856de5f2390a5727a6d98d488305.png" width="400">
|
8 |
|
9 |
|
10 | キャンバスを介して Canvas ソースを処理するための純粋な JavaScript ライブラリ。
|
11 |
|
12 |
|
13 | [中文文档](./README.zh.md) | [English](./README.md) | [日本語](./README.jp.md)
|
14 |
|
15 | [examples](http://events.jackpu.com/daycaca/)
|
16 |
|
17 |
|
18 | ## 使い方
|
19 |
|
20 | ### Npm
|
21 |
|
22 | ``` bash
|
23 | $ npm install daycaca --save
|
24 | ```
|
25 |
|
26 | ``` js
|
27 | // es6import daycaca from 'daycaca';// src specify an image src (url or base64)
|
28 | daycaca.rotate(src, degress, (data, w, h) => {
|
29 | // your code here
|
30 | });
|
31 | ```
|
32 |
|
33 | ### CDN (ブラウザーで直接使う)
|
34 |
|
35 | ``` html
|
36 | <script src="./dist/daycaca.js"></script>
|
37 | <script>
|
38 | // src specify an image src (url or base64)
|
39 | daycaca.rotate(src, degress, (data, w, h) => {
|
40 | // your code here
|
41 | });</script>
|
42 | ```
|
43 |
|
44 | ## API
|
45 |
|
46 | すべてのAPI source は以下の1つのタイプでなければなりません:
|
47 | + 画像url (URLを使う場合、クロスドメインの設置にお気を付けください。)
|
48 | + 画像のDOM節点
|
49 | + [type="file"]を使用する画像ファイルの対象值
|
50 |
|
51 | ### base64(source, callback)
|
52 |
|
53 | 画像をbase64 code値に転換する。参考数elは画像のDOM節点やDOMのURLである。
|
54 |
|
55 | ``` js
|
56 | const img = document.querySelector('img')
|
57 | daycaca.base64(img, (data) => {
|
58 | //... handle base64
|
59 | })
|
60 | ```
|
61 |
|
62 | ### compress(source, quailty, callback)
|
63 |
|
64 | 画像を圧縮する場合、画質を圧縮し、画像のサイズを小さくする。
|
65 |
|
66 | + PNGは無損失圧縮されるので、quality無効。
|
67 | + JPG/JPEG/BMP は損失圧縮される。
|
68 |
|
69 | `quality` は圧縮後の画質を表す。Qualityの数値が大きいほど、画質が高いのである。
|
70 |
|
71 | ``` js
|
72 | const img = document.querySelector('img')daycaca.compress(img, 0.5,(data) => {
|
73 | //... handle base64
|
74 | })
|
75 | ```
|
76 |
|
77 | ### crop(source, option, callback)
|
78 |
|
79 | 画像をカットする。
|
80 |
|
81 | `option` {} では、指定する必要がある参考数値である:
|
82 |
|
83 | + `x`;はカットされたエリアが画像の左までの距離
|
84 | + `y`;はカットされたエリアが画像の上までの距離
|
85 | + `w`;はカットされたエリアの横幅
|
86 | + `h`;はカットされたエリアの高度
|
87 | + `ratio`: スケール比率;
|
88 |
|
89 | ``` js
|
90 | const img = document.querySelector('img')
|
91 | daycaca.reszie(img, {
|
92 | x: 10,
|
93 | y: 20,
|
94 | w: 100,
|
95 | h: 70
|
96 | },(data) => {
|
97 | //... handle base64
|
98 | })
|
99 | ```
|
100 |
|
101 | ### rotate(source, degree, callback)
|
102 |
|
103 | 画像を回転させる。
|
104 |
|
105 | ``` js
|
106 | const img = document.querySelector('img')
|
107 | daycaca.rotate(img, 90,(data) => {
|
108 | //... handle base64
|
109 | })
|
110 | ```
|
111 |
|
112 | ### reszie(source, ratio, callback)
|
113 |
|
114 | 画像を拡大、縮小させる;
|
115 |
|
116 | + `ratio` (0~1)は画像のスケール比率である。1と設定する場合は、画像の大きさが変わらない。0以下の数値は設定できない。
|
117 |
|
118 | ``` js
|
119 | const img = document.querySelector('img')
|
120 | daycaca.reszie(img, 0.5,(data) => {
|
121 | //... handle base64
|
122 | })
|
123 | ```
|
124 |
|
125 | ### コメント
|
126 |
|
127 | ご意見やご質問大歓迎です!
|
128 |
|
129 |
|
130 |
|
131 |
|
132 |
|