Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
HiDPI時代のFireworks
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Naoki Matsuda
October 25, 2013
Design
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
HiDPI時代のFireworks
Naoki Matsuda
October 25, 2013
More Decks by Naoki Matsuda
See All by Naoki Matsuda
管理画面の全体UXは利用時品質モデルで考える
readymadegogo
2
3.5k
インターフェースのユーザビリティ概論および調査手法について
readymadegogo
0
380
UIデザインのための行動・認知プロセス
readymadegogo
0
250
知っておくと得をする(かもしれない) SVGの基礎とviewBox
readymadegogo
1
180
XDはBeautiful SVGの夢を見るか
readymadegogo
4
1.5k
webフォントを120%活用するための基礎知識&最新動向
readymadegogo
7
3.7k
SVG is on your side @ MTDDC 2018
readymadegogo
6
2.1k
デザインフェーズにおけるワイヤーフレームとの付き合い方@WCAN201802
readymadegogo
5
500
ウェブデザインとセルフブランディング 2018
readymadegogo
2
300
Other Decks in Design
See All in Design
kintone開発におけるライターの役割の変化〜AI活用を添えて〜 / Changes in the Role of Writers in Kintone Development
keroyama
0
190
【CEDEC2026】アートとゲームデザインをつなぐVFX設計『GRANBLUE FANTASY: Relink - Endless Ragnarok』における表現と可読性の両立
cygames
PRO
1
1.2k
Design dependencies
teba_eleven
0
160
I.A. como meio, não como fim. Como avaliar o valor entregue?
videlvequio
0
460
Claudeもくもく会、はじめませんか?
yusukeiyoda
0
210
空間アプリ開発のフィードバックをCodexにするための抽象的なデザインツールの模索
karad
0
190
Debiasing Your Software Design Decision-Making @ Flowcon '26
baasie
1
170
もっともらしさ生成器と暮らす – AI懐疑派の試行錯誤
sekiguchiy
0
160
染み出し好きの、 染み出しコントロール論
mukai_takeru
0
450
1000人規模の組織でデザインハーネスを導入するための第一歩
pkshadeck
PRO
5
3.8k
セブンデックス プロジェクト事例 / innovation Scenes
sevendex
1
1.8k
root COMPANY DECK / We are hiring!
root_recruit
4
30k
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
6.3k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
260
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Abbi's Birthday
coloredviolet
3
9.7k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
490
KATA
mclloyd
PRO
35
15k
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
970
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
300
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
Transcript
HiDPI ࣌ͷ Fireworks দాथ Flickr : ebayink
݄ ൃച দాथ
σόΠεͷߴղ૾Խ Retina Display දతͳͷ͕ɺ"QQMFͷ (iPhone 326 ppi) (iPad 264 ppi)
What’s HiDPI ?
HiDPI = ߴϐΫηϧີ = ߴdevice-pixel-ratio
device-pixel-ratio ?
device-pixel-ratio )5.-ίϯςϯπͷQYΛ ࣮ࡍͷσόΠε্Ͱ ԿഒͷQYͰ ඳը͢Δ͔Λࣔ͢
͑ɺͳΜͯʁ は Flickr : 5TBIJ-FWFOU-FWJ
device-pixel-ratio = 2
device-pixel-ratio = 2 @1x Resolution (4dpx) @2x Resolution (16dpx)
<img src="xxx.png" width="320"> device-pixel-ratio = 2
iPhone 4ʙ Android 2 1.5 ͕ଟ͍ device-pixel-ratio 326 ppi 250
ppi
3 device-pixel-ratio INFOBAR A02 Xperia Z HTC J butterfly 440
ppi
ਐΈଓ͚Δɺ σόΠεͷ)J%1*Խ Flickr : Jeffrey
WORKFLOW for HIDPI
J04ΞϓϦσβΠϯͷ3FUJOBରԠ ϫʔΫϑϩʔ͕ʹͳΓ·ͨ͠ IUUQpSFXPSLTTNBTIJOHNBHB[JOFDPNEFTJHOJPTBQQTXJUIBEPCFpSFXPSLT
όγϟϩά3FUJOBରԠ༻ʹϖʔδΛ ͚Δ'JSFXPSLTίϚϯυ IUUQDSFBUJWFUXFFUOFUCMPHSFUJOBJNBHFFYQPSUFSIUNM
ը૾Λ3FUJOBରԠͰॻ͖ग़͢͠Δ 'JSFXPSLTͷ֦ுػೳ࡞ͬͨΑɻ IUUQDSFBUJWFUXFFUOFUCMPHSFUJOBJNBHFFYQPSUFSIUNM
גࣜձࣾ·΅Ζ͠ ·ͭͩͳ͓͖͞Μͷ߹
ΧϯόεɺجຊతʹXQY ϏοτϚοϓ·ͣγϯϘϧԽ !Yͷը૾͚ͩॻ͖ग़͠ !Yͷը૾ҰׅͰʹϦαΠζ $44 47( 8FC'POUTΛ׆༻
Χϯόεԣ෯QY
Χϯόεԣ෯QY 640px w ଟ͘ͷεϚϗͷ ϒϥβ͕ɺԣ෯ QYͳͨΊ w ͦͷ··ॻ͖ग़ͤɺ 3FUJOBରԠՄ w
ίʔμʔ͕ผͷ߹ Ͱɺࣦഊ͢Δ͜ͱ͕ ͳ͍ ϝϦοτ
640px w ͯ͢ͷύʔπɺ ςΩετͷαΠζΛ ഒʹܭࢉ͢Δඞཁ͕ ͋Δ w ࣮ػͷ࣮ੇͱͷࠩҟ͕ ͋ΓɺαΠζײ͕ ͔ͭΈʹ͍͘
σϝϦοτ Χϯόεԣ෯QY
Χϯόεԣ෯QY w ͋ͱ͔Β!Yը૾͕ ࡞Γʹ͍͘ w ϏοτϚοϓΛ ֦େ͢ΔͱྼԽ͢Δ w ςΩετͷϑΥϯτ αΠζ͕͓͔͘͠ͳΔ
w εϥΠε่͕ΕΔ w ॻ͖ग़ͨ͠ޙͰഒʹ Ͱ͖ͳ͍ 320px σϝϦοτ Χϯόε͕ԣ෯QYͩͱ
Χϯόεԣ෯QY ࣮ػͰͷαΠζײ͕ ͔Γʹ͚͘Ε ࡞ͬͨΧϯϓʹɺ ڞ௨ϥΠϒϥϦͷ ʮJ1IPOFˠ)BSEXBSFʯΛ ॏͶͯΈ·͠ΐ͏ ը໘͕QYʹͳ͍ͬͯ·͢
Χϯόεԣ෯QY ͦΕͰ·ͩɺ ࣮ػͰͷαΠζײ͕ ͔Γʹ͚͘Ε LiveView https://itunes.apple.com/jp/app/liveview/id301069270?mt=8
None
Χϯόεԣ෯QY QYͷେ͖͍αΠζͰ ࡞͓͚ͬͯɺ খ͍͞αΠζͲ͏ͱͰͳΔʂ
ഒͰ࡞Δίπ
ഒͰ࡞Δίπ _ࢀߟ Workflow OptimizationDesign Cutting Edge iOS Apps With Adobe
Fireworks http://fireworks.smashingmagazine.com/2012/12/03/design-ios-apps-with-adobe-fireworks/ ߴ͞ɺ෯ɺCPSEFS෯ɺ ͯ͢ΛۮͰ࡞Δ ʹॖখͨ͠ࡍɺΤοδ͕ ϘέΔͨΊ Why ?
ഒͰ࡞Δίπ _ࢀߟ Workflow OptimizationDesign Cutting Edge iOS Apps With Adobe
Fireworks http://fireworks.smashingmagazine.com/2012/12/03/design-ios-apps-with-adobe-fireworks/ 1IPUPTIPQϥΠϒ ΤϑΣΫτΘͳ͍ ֦େॖখͨ͠ࡍɺൺྫͯ͠ ϦαΠζ͞Εͳ͍ͨΊ Why ?
ഒͰ࡞Δίπ _ࢀߟ Workflow OptimizationDesign Cutting Edge iOS Apps With Adobe
Fireworks http://fireworks.smashingmagazine.com/2012/12/03/design-ios-apps-with-adobe-fireworks/ ؙ֯ɺͳΔ͘ $44Ͱ࣮͢Δ ॖখͨ͠ࡍɺͭͿΕͯ͠·͏ ͜ͱ͕͋ΔͨΊ Why ?
ഒͰ࡞Δίπ ඪ४ͷςΫενϟ Θͳ͍ ςΫενϟഒαΠζ͕ͳ͘ɺ ϦαΠζͰ͖ͳ͍ͨΊ _ࢀߟ Workflow OptimizationDesign Cutting Edge
iOS Apps With Adobe Fireworks http://fireworks.smashingmagazine.com/2012/12/03/design-ios-apps-with-adobe-fireworks/ Why ?
ഒͰ࡞Δίπ Subtle Patterns ߴ࣭ͳςΫενϟΛ !Y !YͷηοτͰ ͍ͯ͠Δ Why ? _ࢀߟ
Subtle Patterns http://subtlepatterns.com
ഒͰ࡞Δίπ In general, bitmaps are your enemy when designing iOS
apps. Ivo Mynttinen ͬ͘͟Γ͍͑ɺJ04ΞϓϦΛ σβΠϯ͢Δ্ͰϏοτϚοϓ ܅ͷఢɺͬͯײ͡ɻ
ϏοτϚοϓγϯϘϧԽ
Χϯόεԣ෯QY άϥϑΟοΫ γϯϘϧ ඇഁյฤू ϏοτϚοϓγϯϘϧԽ͓ͯ͘͠
Χϯόεԣ෯QY άϥϑΟοΫγϯϘϧ ඇഁյฤू w γϯϘϧԽͨ͠ը૾ ֦େॖখΛ܁Γฦͯ͠ ྼԽ͠ͳ͍ w ճసΏ͕ΈΛ Ճ͑ͯɺݩը૾ͷঢ়ଶ
ͦͷ·· w ը૾େ͖Ί QYҎ ্ Ͱ༻ҙ͠ɺ γϯϘϧԽ͔ͯ͠Β େ͖͞Λௐ ϏοτϚοϓΛ ֦େɾॖখɾճస γϯϘϧΛ ֦େɾॖখɾճస ྼԽ อ࣋ ϏοτϚοϓγϯϘϧԽ͓ͯ͘͠
ϏοτϚοϓγϯϘϧԽ͓ͯ͘͠ γϯϘϧͷҙ γϯϘϧͷதͰ ࢉɾεΫϦʔϯͳͲͷ ϨΠϠʔελΠϧ͑ͳ͍ γϯϘϧͷதͷ εϥΠεͷॻ͖ग़͕͠όάΔ ʢ$4ҎԼͷ߹ʣ
ϏοτϚοϓγϯϘϧԽ͓ͯ͘͠ γϯϘϧԽ͓͚ͯ͠ɺ QY͔Β֦େͯ͠͏ͳͲ Ͳ͏ͱͰͳΔʂ
!Yͱ!Yͷը૾ॻ͖ग़͠
!Yͱ!Yͷը૾ॻ͖ग़͠ ·ͣɺ'8͔Β!Yͷը૾Λॻ͖ग़͢ όονͰҰׅͰʹϦαΠζͯ͠!YΛ༻ҙ
!Yͱ!Yͷը૾ॻ͖ग़͠ ํ๏ͦͷ Automator w ʮ!Yʯͷը૾Λෳ w αΠζௐͰʹ ϦαΠζ w ϑΝΠϧ໊͔Β
ʮ!YʯΛআ͢Δ w BQQԽͰ͖ΔͷͰศར
!Yͱ!Yͷը૾ॻ͖ग़͠ @ࢀߟ JQIPOF༻ͷը૾!YQOH͔Β௨ৗͷΛੜ IUUQEIBUFOBOFKQEPPSTJEF Shell Script w pOEͰʮ!Yʯͷ ը૾Λ୳͢ w
TJQTίϚϯυͰԣ෯Λ औಘ w TJQTίϚϯυͰʹ ϦαΠζ w XBUDIͰ͖ͨΓศར #!/bin/sh #dir=$1 find $dir -name "*@2x.*" | while read file; cd $(dirname $0) && pwd do width=`sips --getProperty pixelWidth $file | sed -E "s/.*pixelWidth: ([0-9]+)/ \1/g" | tail -1` width=`expr $width / 2` newFile=`echo $file | sed 's/@2x//'` sips --resampleWidth $width $(basename "$file") --out $(basename "$newFile") done ํ๏ͦͷ
!Yͱ!Yͷը૾ॻ͖ग़͠ w ઌͷҊͱಉ͜͡ͱ͕Մೳ w '8ίϚϯυԽͰ͖Δ w 8JOEPXTͰ0, w ઌͷҊΑΓը࣭͕ ྑ͛͞
w ੜͨ͠ը૾αΠζ͕ ܰΊ FW’s Batch ํ๏ͦͷ
!Y !Yը૾ͷৼΓ͚ʁ
[email protected]
sample-image.png !Y !Yը૾ͷৼΓ͚ K2VFSZͰʮdevicePixelRatioʯΛผ͢Δ EFWJDF1JYFM3BUJP͕ʮʯҎ্ͷσόΠεͰɺ JNHΛʮˎˎˎ!YQOHʯͳͲ ϑΝΠϧ໊ʹ!Y͕͍ͭͨํʹࠩ͠ସ͑Δ sample-image.png
!Y !Yը૾ͷৼΓ͚ K2VFSZͰʮdevicePixelRatioʯΛผ͢Δ $(function(){ if( 'devicePixelRatio' in window && window.devicePixelRatio
> 1 ){ var imgHidpi = $( 'img.hidpi' ).get(); var imgHidpiLength = imgHidpi.length; for (var i=0,l=imgHidpiLength; i<l; i++) { var src = imgHidpi[i].src; src = src.replace(/\.(png|jpg|gif)+$/i, '@2x.$1'); imgHidpi[i].src = src; }; } });
!Y !Yը૾ͷৼΓ͚ @ࢀߟ Adaptation for Retina display http://egorkhmelev.github.com/retina/ Optimising for
High Pixel Density Displays. http://menacingcloud.com/? c=highPixelDensityDisplays
!Y !Yը૾ͷৼΓ͚ Media QueryͰഎܠը૾ΛৼΓ͚Δ .selector { background: url(../sample.png) no-repeat; }
@media (-webkit-min-device-pixel-ratio: 1.5) { .selector { background-image: url(../
[email protected]
); background-size: cover; } }
!Y !Yը૾ͷৼΓ͚ $44ͷʮ-webkit-image-set()ʯͰৼΓ͚Δ .selector { background: ɹɹ-webkit-image-set ( ɹɹɹurl( sample.png
) 1x, ɹɹɹurl(
[email protected]
) 2x ɹ ); }
!Y !Yը૾ͷৼΓ͚ .FEJB2VFSZͷ+4൛ ňwindow.matchMediaʯͰৼΓ͚Δ var mq = window.matchMedia( "only screen
and ( -webkit-min-device-pixel-ratio: 1.5)" ); if(mq.matches) { ... }
!Y !Yը૾ͷৼΓ͚ Cloud ͷը૾ৼΓ͚αʔϏεͰղܾ ReSRC.it http://www.resrc.it/ Sencha.io Src http://www.sencha.com/learn/how-to- use-src-sencha-io/
!Y !Yը૾ͷৼΓ͚ +4ϥΠϒϥϦʮConditionizrʯͰৼΓ͚Δ ߴਫ਼ࡉσόΠεʹͷΈʹద༻ͤ͞Δ +4 $44 $MBTTΛৼΓ͚ΒΕΔ <html class="retina"> <script>
conditionizr({ retina : { scripts: true, styles: true, ɹɹɹɹɹɹɹɹɹɹclasses: true } }); </script> Conditionizr http://conditionizr.com
!Y !Yը૾ͷৼΓ͚ ͨͩɺ͜Ε͔Β!Yͷը૾ඞཁͳ͍͔ w ࠓϞόΠϧσόΠεͷ͕ͯ͢)J%1* w 1$ͷ)J%1*Խ͜Ε͔Βීٴʁ w ͦͦɺ38%ͷීٴͰϐΫηϧʹґଘ ͠ͳ͍σβΠϯ͕ٻΊΒΕΔ
ϏοτϚοϓ
WORKFLOW for HIDPI NO MORE BITMAP
)J%1*ରԠͷ ߴղ૾ͳ ը૾ॏ͍ σόΠεͷ ը໘αΠζ͕ ߋʹଟ༷Խ ϏοτϚοϓը૾ͷ՝
ϐΫηϧύʔϑΣΫτͳ ϏοτϚοϓʹཔΕͳ͍࣌ JNHը૾ࣸਅਤ൛ʹͷΈ͏Α͏ʹͯ͠ɺ ΞΠίϯͳͲͷڞ௨ίϯϙʔωϯτ ϏοτϚοϓΛࢦ͢
'JSFXPSLTతϏοτϚοϓ ͱ͍͏ΑΓɺJNHཁૉ
'JSFXPSLTతϏοτϚοϓ SVG + Web Fonts w ϕΫλʔ 47( ϐΫηϧʹґଘ͠ͳ͍
w '8Ͱ֦ுػೳΛͬͯ 47(ग़ྗͰ͖Δ w 8FC'POUTԽ͢Ε ৭ɾαΠζΛ$44Ͱ༰қʹ มߋՄೳ w ͍ܰ
'JSFXPSLTతϏοτϚοϓ SVG ΛରԠσόΠεͰ͚ͩ͏ <script src="jquery.js"></script> <script src="modernizr.js"></script> <script> if(!Modernizr.svg) {
$('img[src*="svg"]').attr('src', function() { return $(this).attr('src').replace('.svg', '.png'); }); } </script>
'JSFXPSLTతϏοτϚοϓ Data URI Scheme w #BTFܗࣜͰɺ )5.-$44ʹهड़ w H[JQ͕༗ޮʹͳΔ ͍ܰ
w ࣮ɺϏοτϚοϓͰ͕͢ w ม֦ுػೳ͕ग़Δӟ data:image/ png;base64,iVBORw0KGgoAAAANSUhEUgA AAABQCAYAAABoMayFAAAABHNCSVQICAgIf AAAAAlwSFlzAAALEgAACxIB0t1+/ AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRml vcmtzIENTNui8sowAAAJ/ cHJWV3ic7ZffkZswEMZlEclaiSJSgm/ ck5+vHXeSpxSQcQXXRBrIhOxKAvNH4nwzh 1hYBPJvdz+B5F9/f/5W7+q9k+3W3Xi/ drdLd712Vz6eu8ulu/BRdedzd1ad4sdgsP O9t7ABx988MEHH3zwwQcffPDBBx988MEHH +MTb34nK/P3ovsKP9BeVuR72m0v8kOKrs2 iD+FF28L3Q1NZ/z7CQNv49+tK/jQS6Wn+T
'JSFXPSLTతϏοτϚοϓ Data URI Scheme ͷมπʔϧ Data URI Converter http://www.macupdate.com/app/mac/ 46143/data-uri-converter
duri.me a super simple dataURI tool http://duri.me
'JSFXPSLTతϏοτϚοϓ Data URI Scheme ͷมπʔϧ Sublime Text 2 + Image2Base64
https://github.com/tm-minty/sublime-text-2-image2base64
'JSFXPSLTతϏοτϚοϓ @༨ஊ 'JSFXPSLTͷ$44εϓϥΠτ ػೳɺ)J%1*࣌Ͱ ͑ͳ͍ 3FUJOBରԠʢCBDLHSPVOETJ[FΛ ʹʣͯ͘͠Εͳ͍ 4B44 $PNQBTTͳͲʹ ͤͨ΄͏͕͍͍
·ͱΊ Χϯόεɺجຊతʹԣ෯QY ϏοτϚοϓγϯϘϧԽ ͳΔ͘ϕΫλʔʹΑΔύʔπ࡞Γ ͦͷάϥϑΟοΫɺϏοτϚοϓͰ ͋Δ͖͔ʁΛߟ͑Δ $44 47(͕ग़ྗͰ͖Δͷ͕'8ͷڧΈ
࠷ޙʹͻͱ͜ͱ
'JSFXPSLTؔͳ͍ωλ͕ଟͯ͘ ͍͢·ͤΜͰͨ͠
͋Γ͕ͱ͏ ͍͟͝·ͨ͠ দాथ Flickr : 4UFQIFO(FZFS