Movatterモバイル変換


[0]ホーム

URL:


Net Kanayan, profile picture
Uploaded byNet Kanayan
574 views

FileReader and canvas and server silde

FileReader and canvas and server silde

Embed presentation

Download to read offline
FileReaderとcanvasとサーバサイド@kanayannetGunma.web #24
自己紹介名前: 金澤宏昭
SNSTwitter : @kanayannetFacebook : HiroakiKanazawa
愛犬家
今日話すことFileReadercanvasサーバサイド挙動の違い不具合いろいろまとめ
FileReader
概要ユーザのコンピュータ内にあるファイル(もしくはバッファ上の生データ)をWeb アプリケーションから非同期的に読み込むことが出来ます。読み込むファイルやデータはFile ないしBlob オブジェクトとして指定します。 by Mozilla
規格HTML5主にJS から呼び出す
canvas
概要図形などを描画する為の新しいHTML 要素です。例えば、グラフを描く、写真を合成する、簡単なアニメーションからあまり簡単ではないアニメーションの作成に用いる事が出来ます。 by Mozilla
規格HTML5主にJS から呼び出す
FileReader とCanvas1. input type=" le" からjavascript で画像データを抽出2. 抽出したデータをcanvas に移す3. canvas で画像を加工4. 適切なサイズ(横幅、高さ)に加工5. 加工した画像を表示
ネットワーク転送いらず画像を投稿する前の確認画面などでもネットワーク転送し画像を適切なサイズに加工こういう技術がないと..画像加工はサーバサイドでやらざるを得なかった。
サーバのリソース節約端末で画像加工するので、各々の端末のリソースで済みます。
サーバサイドLinuxCentOSImageMagick
今回HTML5 向けのブラウザが出て数年が経過...もうガンガンやってもいんじゃね?と思いつつサーバサイドに送らず、画像を加工した結果...まあ、色々あったので話します(笑)
挙動の違い
デモcanvas
ちなみにJSはこんな感じ$(document).ready(function(){$("#uploadFile").change(function(){varcanvas=$("#myCanvas").get(0);varctx=canvas.getContext("2d");//inputtypefile objectvarfile=this.files[0];//mimeif(!file.type.match(/^image/(png|jpeg|gif)$/))return;varimage=$('#image').get(0);varreader=newFileReader();//FileReader読 込 完了reader.onload=function(evt){
続き//image 読 込 完了image.onload=function(){varchangeWidth=this.width*0.7;varchangeHeight=this.height*0.7;canvas.width=changeWidth;canvas.height=changeHeight;ctx.drawImage(this,0,0,this.width,this.height,0,0,changeWidth,changeHeight}//base64 画像 URL 指定image.src=evt.target.result;}// 読 込reader.readAsDataURL(file);});});
次はサーバサイドImageMagick
どうでした?
違いは..ぼやけとジャギリ(シャープ)具合風景よりも文章のある画像の方が解りやすいかも?
ではもう一度canvasImageMagick
違いがあると?例えば...前はImageMagick で画像縮小しcanvas で画像縮小したものに切り替えてしまうと..画像の印象が変わってしまう。
裏テクcanvas で縮小する際、一気に縮小しようとせず..少しずつ縮小すると...それほどジャギらなくなります。
不具合いろいろ
iOSiOS8.0.0 , iOS8.0.1readAsDataURL でエラーが出ます。非同期でinput type=" le" の中を読むコマンドmobile safari だけでなくchrome も起きるらしい...
AndroidAndroid Browser で不具合色々Android 4系(4.4未満くらい?)の標準装備のブラウザ自分がこう呼ぶのは..google analytics でそう呼ばれているので。AOSPブラウザーって呼ぶこともある?
Android BrowserreadAsDataURL で読み込めなかったりデータ読み込み後、mime が取れなかったりreadAsDataURL -> canvas にデータを移す途中でハンぐったり最悪ブラウザ落ちたり..涙
Android Browser機種によって不具合の症状が違います汗端末ベンダーがよくカスタマイズしてプレインストールしているからか?
Android でもchrome は不具合に遭遇したことはありません。テストした機種は7機種
まとめ画像縮小の挙動が違うので..単なる縮小と侮るなかれジャギりが目立たない小さいサムネイル用画像なら使えるかな?端末によって不具合違うの嫌だ本当に嫌だ。
ご清聴ありがとうございました!

Recommended

PDF
Prototypeベース in JavaScript
PPTX
Getting started with ES6 : Future of javascript
PPTX
Webアプリケーションフレームワーク flask
PDF
JavaScript 実践講座 Framework, Tool, Performance
PDF
jQuery勉強会#4
PDF
150421 es6とかな話
PDF
kontainer-js
PDF
ES6 はじめました
PPTX
JavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
PPTX
Startup JavaScript
PDF
これからのJavaScriptの話
PDF
はじめてのWallaby.js
PDF
Bacon.jsではじめる関数型リアアクティブプログラミング入門 with ES6
PDF
これからのJavaScriptー関数型プログラミングとECMAScript6
PDF
JavaScript.Next Returns
PPTX
大規模プロダクト Webpack やっていく気持ち
PPT
Google App EngineでTwitterアプリを作ろう
PDF
Hello npm
PDF
React UI Development: Introduction to "UI Component as API"
PPTX
ES6 - JavaCro 2016
PPTX
Nds meetup8 lt
PDF
Node.js をさりげなく取り入れた 最近のフロントエンド事情について
PDF
Learn ES2015
PDF
ECMAScript 6 Features(PDF 版)
 
PDF
アニメーションの実装つらい話
PPTX
JavaScript : What is it really? AND Some new features in ES6
PDF
断言して間違えると信頼度が低下するというベイズの話
PDF
マイクロインタラクション事始め以前
PDF
Osc16gm
PDF
Js kusen

More Related Content

PDF
Prototypeベース in JavaScript
PPTX
Getting started with ES6 : Future of javascript
PPTX
Webアプリケーションフレームワーク flask
PDF
JavaScript 実践講座 Framework, Tool, Performance
PDF
jQuery勉強会#4
PDF
150421 es6とかな話
PDF
kontainer-js
PDF
ES6 はじめました
Prototypeベース in JavaScript
Getting started with ES6 : Future of javascript
Webアプリケーションフレームワーク flask
JavaScript 実践講座 Framework, Tool, Performance
jQuery勉強会#4
150421 es6とかな話
kontainer-js
ES6 はじめました

Viewers also liked

PPTX
JavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
PPTX
Startup JavaScript
PDF
これからのJavaScriptの話
PDF
はじめてのWallaby.js
PDF
Bacon.jsではじめる関数型リアアクティブプログラミング入門 with ES6
PDF
これからのJavaScriptー関数型プログラミングとECMAScript6
PDF
JavaScript.Next Returns
PPTX
大規模プロダクト Webpack やっていく気持ち
PPT
Google App EngineでTwitterアプリを作ろう
PDF
Hello npm
PDF
React UI Development: Introduction to "UI Component as API"
PPTX
ES6 - JavaCro 2016
PPTX
Nds meetup8 lt
PDF
Node.js をさりげなく取り入れた 最近のフロントエンド事情について
PDF
Learn ES2015
PDF
ECMAScript 6 Features(PDF 版)
 
PDF
アニメーションの実装つらい話
PPTX
JavaScript : What is it really? AND Some new features in ES6
PDF
断言して間違えると信頼度が低下するというベイズの話
PDF
マイクロインタラクション事始め以前
JavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
Startup JavaScript
これからのJavaScriptの話
はじめてのWallaby.js
Bacon.jsではじめる関数型リアアクティブプログラミング入門 with ES6
これからのJavaScriptー関数型プログラミングとECMAScript6
JavaScript.Next Returns
大規模プロダクト Webpack やっていく気持ち
Google App EngineでTwitterアプリを作ろう
Hello npm
React UI Development: Introduction to "UI Component as API"
ES6 - JavaCro 2016
Nds meetup8 lt
Node.js をさりげなく取り入れた 最近のフロントエンド事情について
Learn ES2015
ECMAScript 6 Features(PDF 版)
 
アニメーションの実装つらい話
JavaScript : What is it really? AND Some new features in ES6
断言して間違えると信頼度が低下するというベイズの話
マイクロインタラクション事始め以前

More from Net Kanayan

PDF
Osc16gm
PDF
Js kusen
ODP
Windows store app html
KEY
Js mvc
KEY
Web creed
PDF
Basic vulnerability
KEY
Sass less
PDF
KEY
Ll xcode
PDF
Nseg jquery mobile
PDF
Browser push notifications
PDF
Http
PDF
Blueberrypi
PDF
Es6 cognition
PDF
Http2入門の入門
PDF
Fxos lt
KEY
J S Smartphone
PDF
Open source
PDF
Image convert
KEY
Tdd&peapro
Osc16gm
Js kusen
Windows store app html
Js mvc
Web creed
Basic vulnerability
Sass less
Ll xcode
Nseg jquery mobile
Browser push notifications
Http
Blueberrypi
Es6 cognition
Http2入門の入門
Fxos lt
J S Smartphone
Open source
Image convert
Tdd&peapro

FileReader and canvas and server silde


[8]ページ先頭

©2009-2025 Movatter.jp