top


総投稿数 本 
no_

スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
no_1365

電子書籍 epub:まずい・・・やめられない。XMLコンテンツ内に含まれる画像を反映させる ・・・ 【epub viewer を創ろ #8】

 2011-11-25
 電子書籍 epub viewer。まずい・・・やめられない。
面白くて、寝れない。
なんとしても、画像を表示するまでは・・・
で、
できた。

画像が表示されるようになった。
   電子書籍 epub viewer 画像が表示されるようになった
   電子書籍 epub viewer 画像が表示されるようになった


  詳しくは、追記に  ▼

more

************************************************
◎ XMLコンテンツ内に含まれる画像を反映させる
              :epub viewer を創ろ

************************************************


やり方は今までと同じ


 画像の場合も、作業divに流し込むやり方では

 ■流し込んだ段階で」
  javascriptアラート!(リンク先が見つからない)
  ※気分悪い。


で、

変数内に流し込み、その中で処理する


 非常に原始的な方法。「力技」。

実際


 ■力技で img要素抜き出し、処理
// 画像処理
tempflg = 1; var tempck_body = tempbody;
while (tempflg == 1){
tempflg = 0;
var temp_pos1 = tempck_body.indexOf("<img",0);
var temptag = tempck_body.substring(temp_pos1);
var temp_pos2 = temptag.indexOf(">",0);
temptag = temptag.substring(0,(temp_pos2 + 1));
if(temptag != ''){
if(temptag.indexOf("src",0) >= 0){
if(!(temptag.indexOf("data:image",0) >= 0)){
tempflg = 1;
}
}
}
if(tempflg == 1){
var temp_pos21 = temptag.indexOf("src",0);
var temptag21 = temptag.substring((temp_pos21+3));
var temp_pos22 = temptag21.indexOf(" ",0);
temptag21 = temptag21.substring(0,(temp_pos22 + 1));
var tempsrc = replaceAll(temptag21, "\"", "");
tempsrc = replaceAll(tempsrc, "\'", "");
tempsrc = replaceAll(tempsrc, "=", "");
tempsrc = replaceAll(tempsrc, " ", "");

var fromsrc = replaceAll(tempsrc, "../", "");
fromsrc = thisdirdata+'/'+fromsrc;
if(fromsrc != ''){
var newsrc = getSrcimg_epub(fromsrc);
if((newsrc)&&(newsrc!='')&&(newsrc!='undefined')){
tempbody = replaceAll(tempbody, tempsrc, newsrc);
tempck_body = replaceAll(tempck_body, temptag, "");
}
}
}
}
 ※相当エラートラップ仕掛けないと、ここはヤバい
 ■画像ソースは、dataスキームソースを取得する関数
function getSrcimg_epub(imgurl){
if(zip.files[imgurl].fileSize){
if(zip.files[imgurl].fileSize < 400 * 1000){
var content_type = getContentTypeByFilename(String(imgurl));
var objdata = zip.files[imgurl].inflate();
var imgsrc = "data:"+content_type+";base64," + base64.encode(objdata);
return imgsrc;
}else{ return false; }
}else{ return false; }
}
 ※サイズ許容量は先回より、少しあげた。
 さて、これからさらに楽しや。着せ替え作業だ。
 ・・・寝るか。
commentsコメント
comment_post












管理者にだけ表示を許可する
commentトラックバック
トラックバックURL:
http://metaboy.blog23.fc2.com/tb.php/1365-47fc9679
ようこそ
Add to Google 創るmetaboy:RSSフィード
My Yahoo!に追加
最新記事のRSS | 問い合わせ

仕事検索、アルバイト検索、依頼仕事の検索ポータル - 仕事検索.COM - www.jobkensaku.com ツクルン

創るmetaboy - WEB創る、サイト創る、何創る - 創ったmetaboy

 

リンク集

 

最近の記事

 

ブロとも申請フォーム
Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。