iBooksの作成者のサイン会を実装する

私は小さな出版社で働いています。 そして、子供向けの本の紙版がリリースされた後、彼らはiPad用に電子版を作ることにしました。 アプリケーションではなく、eEubブック。

大きなショッピングセンターでのプレゼンテーションに同意しました。紙の本が販売され、著者が署名し、iPadのバージョンがセンターの訪問者によってダウンロードされ、提供されたiPadでアニメーションで再生されます。

しかし、著者が紙の本に署名するのであれば、なぜ署名し、電子化しないのですか?

アイデアは新しくて独創的ですが、実現可能ですか?

私はすぐに署名を実装することができなかったと言います、そしてここに理由があります...



技術的には、すべてが単純です-誘導スタイラスを使用します。本では、描画ハンドラーと、ひどく書かれたものを消去して保存するための2つの秘密の場所を持つキャンバスブロックを配置します。 LocalStorageに保存します。



本にテキストを書くのに問題はありませんでした。 キャンバスに描画するコードは完全なインターネットであり、主な「トリック」はドットではなくセグメントで描画することです。 図面コードはここに引き継がれまし



getImageData()



を使用してキャンバスを保存します。

署名は白黒なので、3つのRGB値すべてではなく、1つだけを保存できます。 次に、結果の数値を文字コードに変換し、画像を説明する膨大な文字列を取得します。



保存にはjQuery jStorageプラグインが使用されました。

素晴らしい。 すべてはコンピューター上でも動作します。 iPadへの転送。



書き込まれたテキストは復元されません。 アラートを設定します。 描画は保存されないことがわかります。 コードを簡素化し、jStorageプラグインを平凡な​​ものに置き換えますが、間違いなく動作するものLocalStorage.name=”-”



です。

動作しません。 Google。 iBooks 1.3とiBooks 2の間のどこか-AppleはLocalStorageのサポートを打ち切りましたが、Cookieのサポートはあります。



キャンバスのサイズは767x600ピクセルで、400キロバイトを超えるデータです。

Cookieは4キロバイトしか保存できません。 そのため、画像データを4KBに分割しました。

クックは、サイトごとに20個にすることができます。 念のため、1サイクルで150個のCookieを作成します-動作します。

画像データを配信しようとしていますが、うまくいきません。 Cookieの合計容量は20 * 4096、つまり約80キロバイトであり、Cookieは20ではなく、それ以上ですが、データが少ないため、合計が80キロバイトを超えないことがわかります。

途中で、デバッグバージョンがそのような大きなヘッダーの送信元のページを開くのを停止するというApacheの別の問題を掘り下げているので、毎回Cookieをクリアする必要があります。



写真の音量を下げる必要があります。 各ポイントをバイト単位ではなくビット単位でエンコードできますが、グレースケールの画像は白黒になり、見苦しくなります。

Google、 Canvas2Imageライブラリを見つけます。 ライブラリは、イメージタイプのオブジェクトを返すか、キャンバスをjpeg、png、またはbmp形式でディスクに保存します。 オブジェクトは必要ありません。クリーンなデータが必要なので、不要な部分がライブラリコードにスローされました。 これで、base64でエンコードされたpngができました。

画像サイズは20〜50 KBの間で変動し始めます。 著者は、読者の希望に流されないように指示を受け取ります。



描画を復元しようとします...これには、canvasのdrawImage()



関数を使用します。 うーん、2回目から復元されました。 問題は、drawImageをフィードするために必要な画像オブジェクトにデータを入力する時間がないことです。 base64データがimage.srcとして使用されていたため、これは私にとっては予想外でした。

この問題は、画像のloadイベントでdrawImageを呼び出すことで解決しました。



コンピューターで確認します-動作します。

iPadに転送します-動作しません。 私たちはアラートを叫んでいます。 画像は正常に保存され、復元されました-いいえ。 各Cookieを表示するようにアラートを設定します。 最初のcookieが読み取られ、2番目のcookieがなくなって、iBooksのjavascriptが落ちているようです。

小さいCookieを作成しようとしています。 古いものを削除するには、iBooksを削除して再インストールする必要がありました。

これで、200バイトの2番目のCookieの後にすべてが停止します。 Cookieの下のデータのサイズは、ブラウザのサイズよりもかなり小さいようです。 不合格...



この時点で、開発は中止されました。 iBooksストレージのサイズを調べるのは不便ですが、デバイスでのインタラクティブなブックのデバッグは面倒であり、この場合は見込みがありません。 著者は紙の本だけに署名する必要があります...



All Articles