Javascriptで画像の色を変えるには

WEBディレクターの平井です。
 
仕事の波ってありますよね。弊社は2〜3月が繁忙期になるタイプの制作会社でして、
スケジュール表とにらめっこの毎日です。

 
さて今回は、

こういう画像があったとして、
これの色をカラフルに変化させたい場合にどうしましょう、というお話です。

 

サンプル

 

Flashでもなく、CanvasやSVGでもなく、GIFアニメーションでもなく、
れっきとしたJavascript/jQueryなのですが、そんなことできるのでしょうか。

 

 

[php] $(function(){
var i = 0, j = 0;
function changeColor(){
i += 5;
j += 3;
if(i>=360) i=0;
if(j>=360) j=0;
var colorR = Math.abs(Math.round(Math.cos(i*Math.PI/180)*128));
var colorG = Math.abs(Math.round(Math.cos(j*Math.PI/180)*128));
$(‘#badge’).css("background-color","rgb("+colorR+","+colorG+",64)")
}
$(‘#badge’).fadeIn();
setInterval(changeColor,70);
});[/php]

 
 …タネ明かしをすると、白い透過PNGを置いて、後ろにあるdivの背景色をcssで変えているだけです。

 

 

単純ですね。
でも発想の転換、ということで、こういうのを選択肢として思いつけるように頭を柔らかくしておきたいですね。

それでは。

WebViewの内部の横幅を強制的に変更する方法

 

iOSアプリはある程度作りやすいので困らないのですが、Androidさんは、ほんと機種・OSVerによって動きがコロコロ変わったりするので、どうしようかなと思っている、現在某病院様のiOSアプリ・Androidアプリの開発を行っているシステム部の中村です。

こんにちは

 

さてiOSをUniversal(ipad/iPhone共有)を作っていると、どうしても、iPhoneとiPadで動作等に差が出てきてしまい、それを限りなく近づける事に時間を割かれてしまいます。

今回の開発も同じようにiPadのWebviewで思った様な表示が出来ずに困っています。

いつもであれば、html側を変更して調整するのですが、今回は実際に動いているサイトを強制的に整形しないといけないという状況に陥りましたので、そのときの逃げ方を書きます。

 

・webviewのHTML表示領域をiPhoneと同じ320pxにしたい場合

通常ならhtml側のmetaで指定する事でしつけるのですが、今回は出来ないため、

webViewで読み込んだ後、JSで強制的にJavaScriptでmetaダグを適応させる方法で逃げたいと思います。

 

何はともあれ、まずはソースを

スクリーンショット 2014-02-18 21.04.24

[php]
#import "ViewController.h"

@interface ViewController (){

}
@end

@implementation ViewController
@synthesize wv;

– (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

//iPhoneの場合は自動的に、スマートフォンページに移動する
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
// iPad
NSURL *URL = [NSURL URLWithString:@"http://www.kantei.go.jp/"];
NSURLRequest *URLreq = [NSURLRequest requestWithURL:URL];
[wv loadRequest: URLreq];
}
else {
// それ以外
NSURL *URL = [NSURL URLWithString:@"http://www.kantei.go.jp/"];
NSURLRequest *URLreq = [NSURLRequest requestWithURL:URL];
[wv loadRequest: URLreq];
}

wv.delegate = self;

}

//webロードが正常に完了
– (void)webViewDidFinishLoad:(UIWebView *)view {

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
// iPadのみWebの領域を320サイズにしてからフィットさせる。
NSString *js =[NSString stringWithFormat:@"var meta = document.createElement(‘meta’);var iniScale = screen.width / 320;meta.setAttribute(‘name’, ‘viewport’);meta.setAttribute(‘content’,’width=320, initial-scale=’ + iniScale + ‘, minimum-scale=0.5, maximum-scale=3.0, user-scalable=1’);document.getElementsByTagName(‘head’)[0].appendChild(meta);"];

[wv stringByEvaluatingJavaScriptFromString:js];

}
else {
// それ以外

}
}

– (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end

[/php]

何をやっているかというと

webviewにurlを与えて表示して、ロード終わったあとにiPadのみにJavaScriptでメタタグを貼付け強制t系に、320pxで動かしているだけです。

 

これでレシポンシブサイト(首相官邸 :  http://www.kantei.go.jp/ )をipadでiPhoneで表示しているイメージで表示できます。

HTMLをいじれない場合使ってみてくださいませ。

表示サンプルをアップしておきます。

スクリーンショット 2014-02-18 20.10.49

iPadRetina表示(標準)

スクリーンショット 2014-02-18 20.10.24

iPadRetina表示(メタタグで強制320px表示)

IMG_3278

iPhone retina 4インチ

どんなCMSがあると便利?

こんにちは。主に医療関係のディレクションを担当している伊藤です。

今回は、「医療系サイトにあると便利なCMS」をご紹介します。

CMSは、いつでも自分で簡単に更新ができるシステムのこと。
<急な変更や案内>を、患者様に<できるだけ早く!>お伝えしたいコンテンツへの導入がオススメです。

病院サイトでの、マストといえるぐらいCMS化すると便利なのは<外来担当表>です。

メディカルデザインのフロント画面とCMSの管理画面の一例をご紹介します。

001

ぱっと感覚的に使いやすいものになるよう開発しています。

その他では<新着情報><診療時間案内>や<休診情報>も、あると便利。
先生の急な変更にも、即時反映が可能です。

急ぎのお知らせではなくても、医療講演などカレンダー形式での掲載が簡単にできるCMSもありますよ。

004

 

即時反映できるCMSって便利かも!なんて思ったら、お気軽にご相談くださいね。

テンプレートファーストのススメ

title
みなさんこんばんは!
弊社のデザインとコーディングを担当しております國宗です。
 
僕は新規のWebサイトを作らせて頂く機会が多く、サイトのベースとなるHTMLやCSSをコーディングしています。
 
さて、今日はより効率良くサイト制作を進めるための制作フロー「テンプレートファースト」という考え方をお話させて頂きます。
 
テンプレートファーストとは、聞きなれない言葉ですが、テンプレート(下層ページ)から優先してコーディングする事です。僕が勝手に作り出した造語です。
 
Webサイトの制作フローは、制作会社やクライアントによってまちまちだと思います。
僕も日頃、より効率良く作業を進めるために試行錯誤した結果、テンプレート(下層ページ)よりコーディングするのが良いのではないかとの結論に至りました。かつては、納品直前までヒーヒー言いながら、バグの修正やその他の修正対応に追われていましたが、納品前に落ち着いて作業出来る様になりました。
 
 
thumb1

今までのワークフロー

flow1
トップの実装→下層ページの実装→納品前のチェック(各ブラウザ表示、文字校正、リンク、alt等)→本公開。
 

テンプレートファーストのワークフロー

flow2
テンプレート(下層ページ)の実装→各ブラウザの表示→トップの実装→残りの下層ページの実装→納品前のチェック(各ブラウザ表示、文字校正、リンク、alt等)→本公開。
 
慣れるまではやや手間に感じてしまいますが、こうする事でしっかりとした下層ページが完成し、ブラウザ間の表示を修正しておけば納品前の修正は比較的軽めになるのではないかなと思います。
 
また次のメリットがあります。
•トップページは別のスタイルで記述するので、body id="○"等にならない。
•複数の作業者で作業を進められる。
•納品前は、有る程度バグが潰れているので、重たい修正は少ない。
 
次回のサイト制作時に、参考になれば幸いです。
 
 

webディレクターのfirefox

どうも。どうでもいい知識とタスクだけが溜まるディレクターの平田です。
webディレクターやってる割にブログなんて書いたことないのですが書かせて頂きたいと思います。

他の皆ほど特化したネタもなく、使い古された感がありますが、日ごろ業務でお世話になっているFirefoxのアドオンについてご紹介します。


■ツリー型タブ
仕事柄、お客さんと電話で話しながら参考にするサイトを開きつつご相談やご提案する機会も多く、また困った時の調べ物でたくさんのサイトを開くケースがままあります。

こんな感じに。
treetab01

これはまだ各タブに何が書いてあるのか読み取れるのでまだマシな方で、開きまくるとタブが縮んで何のページを開いているのか全く分からなくなります。

これを解消してくれるのが「ツリー型タブ」というアドオンで、基本上か下のみにしか表示されないタブバーを右もしくは左に表示してくれる様にするものです。

アドオン追加後のブラウザキャプチャが以下。
treetab02

今、何を開いてるのか一目瞭然ですね。
設定次第では左に開いているタブの幅をもう少し変更できますし、高さなども変更ができる様です。
また、ツリー型という名が付いている通り、親タブ – 子タブ – 孫タブ – ・・・みたいな事も出来ます。
私は他にもいくつかブラウザを使ってたりしますが、鬼速Chromeに乗り換えきれないのはこちらのアドオンのせいだったりします。

 

■Pearl Crescent Page Saver Basic screenshot tool
有名過ぎて今更説明するのもなんですが、スクリーンキャプチャ用のアドオンです。
他にも同じ様なアドオンは数多くありますが、使いやすさと軽さの点で必ずこのアドオンも入れています。
画面の構成図を起こしたり、修正指示を出す場合に力を発揮してくれます。

実装するとカメラのアイコンが表示される様になります。(下記画像では左下、サブメニューを開いたところ)
crescent01

 

表示部分のみ画像として保存は今ブラウザで見えている範囲のみをキャプチャし、
ページ全体を画像として保存は今開いているページ全体をキャプチャしてくれます。

 

・表示部分のみ
20140207_ソチオリンピック2014 - JOC_www.joc.or.jp-games-olympic-sochi

・ページ全体
20140207_ソチオリンピック2014 - JOC_www.joc.or.jp-games-olympic-sochi(1)


このアドオンの存在を知るまではプリントスクリーンでキャプチャしていたのですが、あちらだとページ表示領域以外の余計な部分もキャプチャしてしまうので、その後のトリミング作業が面倒なことこの上無く、今ではこのアドオンなしではキャプチャする気になれません。


取りあえず、今回は上記の二つを紹介しておきます。

 

PC作業による目の負担を軽減するフリーソフトウェア 「f.lux」

 こんにちは。主にJAチームで更新業務を担当している植村です。

 昨日は春のように暖かくて、今日は真冬のような冷たさですね。

 インフルエンザもピークを迎えているようですし、体調管理にはくれぐれも気をつけたいところであります。

 さて、

 私たちのようにPCで長時間作業をする人間は、目の疲労&視力の低下が気になるところです。

 最近ではブルーライトを軽減するPC用の眼鏡を使用している方が多いようですが、もっとお手軽に目の負担を軽減できる方法があります。

 それが、こちら ↓

  「f.lux」をダウンロードする 無料 (2014年1月現在)
  

 もう使用されている方も多いと思いますが、なんとこのソフトウェア、ディスプレイから発光されるブルーライトを調整してくれます。つまり、眼鏡によってブルーライトをカットするのではなく、根本からカットしてしまおうという優れものなのです。

 使い方はいたって簡単、ソフトウェアをダウンロード&インストール後に”preferences” で設定画面を開き、部屋の明るさや自分の好みに合わせて設定を行うだけです。


 
(1) まずはLocation で現在地の位置情報を取得します
(2) 次にスライダーを操作して自分の好みの明るさを調整します
  ※ 位置情報を設定することにより時刻を取得 → 日中の明るさと日没後の明るさを自動で調整してくれます
(3) Done をクリックして設定保存すれば終了です

 デザイン関係の作業など、色を扱う作業時には不向きですが、事務作業などで長時間画面を眺めなければならないときなどにはなかなか重宝するのではないでしょうか。私自身、使い始めは「画面が少し暗いかな」なんて感じていましたが、不思議とすぐに慣れて、いまでは設定を戻すたびに「画面青い!目痛い!」とまで感じてしまいます(笑) 。まあ、効果のほどがどれだけあるのかは実際のところ定かではありませんが・・・試してみる価値はあると思います。数千円を払って眼鏡を買う前に。

 以上、目の負担を軽減してくれる(かもしれない)フリーソフト 「f.lux」の紹介でした。
私、この記事を書くまでMacのみのアプリだと思い込んでいて、Mac使いの優越感に若干浸っていたところがなきにしもあらずでしたが、調べてみたところ普通にWindows版もリリースされているみたいです。今回はMac OSでの設定方法についての解説でしたが、Windowsでも同様に設定できると思いますので、皆さん是非試してみてください。

Codeignitor はじめました。のその後。

こんにちは。システム部の鈴木です。
先日、新年会で肥ったといじられました。暖かくなってから本気出します。

以前書いてからだいぶ間が空いてしまったCodeIgnitorを使って早速社内向けのサービスを作ってみました。
今回はそのときに気がついた点とか書いていこうと思います。

 

Continue reading

IEでhistory.backで戻るとフォームの内容が消えるバグ対応

Android開発が久々すぎてテンパッてる状態のシステム部中村です。

昔からAndroidアプリの開発は、Verの違いで作り方と仕様が色々変わったり、機種によって違いがあったり、エクリプス上でのGUIの作りこみがわかりにくいなどであまり手を出したくなったのですが、お仕事なので、がんばってます。

といいながらAndroid開発で詰まったので、ブログを書くことで気分転換!!

 

 

さて、本日お問合せフォームの新設を病院チームからお願いされたので、ささっと片付けるつもりが、

デバック作業中に、なぜかIEでhistory.back()を使ってページ繊維すると(戻る)と入力されていたフォームが空になるという症状を発見。

よくよく調べてみるとIEのタブブラウザー化してから良く出る症状のようでした。

HTMLのキャッシュ設定を正しく指定していないと、空白になるようです。

 

症状の発生に関しては

1:inputフォームに値を入れる

2:submit で次の画面へ移動する

3:history.back()で前のページに戻る

結果:入力した内容が消えて空になっている

という流れなのですが、 FireFoxやchorome では発生しない現象なので、見落としやすい落とし穴です。

 

対処方法は

メタタグに

<meta content="86400" http-equiv="Expires" >

このタグをいれて明示的にキャッシュさせてやれば、OKです。

これで、症状が改善されました。

 

history.backを使わなければいいのですが、どうしても使用する際は症状が現れる前にタグを打っておくことにしておきます。

 

PDFファイルのSEOについて

ディレクターの武士です。

コーポレートサイトを制作させていただいていると、「PDFファイルを検索結果に表示させたい」「PDFが検索結果に出ないようにしてほしい」などのご要望を承ることがあります。
今回はPDFファイルのSEOについて解説します。
 


■PDFファイルは検索エンジンに認識される?
サーバにアップされたPDF文書は、基本的にHTMLと同じように検索エンジンにインデックスされます。
検索される内容は文書内の文字列(テキストコンテンツ)およびメタデータです。
文書内の画像は認識されないようです。


■PDFファイルのSEO対策
PDFファイルはそのままサーバにアップしても検索エンジンにインデックスされますが、よりSEO対策を強化するには下記の2つの方法があります。
 

(1)文書のプロパティ(メタ情報)を設定する

Adobe Acrobatの場合、ファイル→プロパティを選択すると「文書のプロパティ」編集画面になります。
「概要」タブで、タイトル、サブタイトル、キーワードを設定することで、検索エンジンに最適化されたPDFを作成することができます。

文書のプロパティスクショ

タイトル:HTMLの<TITLE>タグと同じ扱いになります。検索結果のタイトル(リンク部分)として表示されます。
サブタイトル:HTMLの<meta description>と同じ扱いになります。検索結果のスニペット(説明文)として表示されます。
キーワード:HTMLの<meta keywords>と同じ扱いになります。HTMLと同じように5個程度設定するのが良いかと思います。

※PDFのプロパティを編集するにはAdobe Acrobatなどの専用のソフトが必要です。
 

(2)リンク元のアンカーテキストを最適化する

Googleの公式見解によれば、検索結果に表示するタイトルの生成には、前述のファイル内のタイトル(メタ情報)と、“PDFファイルを指すリンクのアンカーテキスト”の2つの要素を使用しているとあります。

“PDFファイルを指すリンクのアンカーテキスト”とはどういう意味かというと、

PDFへのリンクテキスト(またはボタン画像等のALT)が「会社概要はこちら」の場合、検索エンジンに「会社概要がこちら」というタイトルでインデックスされる可能性があるということです。
SEO対策したいキーワードが「メディカルデザイン」「会社概要」の場合は、「会社概要はこちら」ではなく「メディカルデザイン会社概要はこちら」というアンカーテキストでPDFにリンクを設定するのが正解ということになります。

アンカーテキスト例

PDFの編集ソフトがなくて(1)の作業が不可能な方は、(2)だけでも対策しておくことをお奨めします。


■PDFを検索結果に表示させない、検索結果から削除するには
個人情報など、PDF文書内に検索されたくない内容が記載されている場合は、検索エンジンにインデックスされないよう対策する必要があります。
簡単な方法としては、PDF文書をパスワードで保護する、または暗号化することでクローリングを回避することができますが、ユーザライクな方法ではないのであまり現実的ではないでしょう。

ではどうすれば良いかというと、PDFファイルのクローリングは、.htaccessで制御することができます。
X-Robots-Tagという記述を用います。

・サイト内にあるすべてのPDFドキュメントを検索結果に表示させたくない場合

<Files ~ "\.pdf$">
Header set X-Robots-Tag "noindex"
</Files>

・「ファイル名.pdf」を検索結果に表示させたくない場合

<Files ファイル名.pdf>
Header set X-Robots-Tag "noindex"
</Files>

・「ファイル名.pdf」のクロールとインデックスを、2014年2月1日0時以降に終了させたい場合

<Files ファイル名.pdf>
Header set X-Robots-Tag "unavailable_after: 1-Feb-2014 00:00:00 JST"
</Files>

SEOに詳しい方ならお気づきかと思いますが、要はHTMLのヘッダーに記述するrobot metaタグや、robot.txtの記述方法(と概念)とほぼ同じです。
PDFの場合はmetaタグを埋め込むことができないので、 X-Robots-Tagを.htaccessに記述することで検索エンジンのクローラーを制御します。

既にインデックスされてしまっているPDFファイルを検索結果から削除したい場合も、X-Robots-Tagで指定すれば認識してもらえます。
ただ、おそらく一定の時間はかかると思いますので、急ぐ場合はGoogleウェブマスターツールのURL削除ツールも併せて使用することをおすすめします。

 


 

PhotoshopとBridgeを交互に使ってraw現像を高速化

初めまして。デザインや写真の担当をしております梶岡です。
このブログではPhotoshopやIllustratorなどのネタを今後担当していこうと思います。

さっそくですが、一眼レフをお持ちの方、
大量のRAWデータを現像する際はどう対応されているでしょうか?

私がまだ趣味レベルだった頃は、一枚一枚Photoshopのプラグインである"Camera raw"で現像していましたが、
そのやり方では途方もなく時間がかかってしまいます。
モノによっては1000~2000枚程の画像の処理をしないといけない場合がありますw

 

普通にPhotoshopで開いた場合

1
一枚ずつしか処理できない!

 

まとめてファイルを開くには

2
「まとめていっぺんにraw現像をしたい!」というときは
Photoshopを立ち上げて、「ファイル/開く」で複数選択すればOKです。

 

3
今回はちょっと青めに修正してみます。

 

同期させる

4
他の写真も同じ修正を反映させるには、「すべてを選択」して「同期」させます。
チェックボックスで反映させる項目を個別に指定することも可能です。


5
同期させて他の写真も青く修正されました。
あとは左下の「画像を保存」をクリックすれば一気にjpgに書き出されます。


しかしこの処理には問題があり、
枚数によっては1時間以上Photoshopが使えなくなります

そんな時、いらない子扱いされがちなAdobe Bridgeが大活躍です!

Bridgeの主な機能は、画像を一括で確認したり比較したりできる管理ツールのようなものですが、
Photoshopの代わりにCamera rawを立ち上げることが可能なのです。

 

Adobe Bridgeでまとめてファイルを開くには

6
複数選択してCamera rawを押すだけ。


PhotoshopとBridgeを併用して交互に作業することで、
ノンストップでraw現像が可能になります。
ただし、PCにはものすごい負担を与えるのでクラッシュにはご注意を。。