質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

2回答

3824閲覧

Web上の画像サイズ(ピクセル×ピクセル)を取得するには?

退会済みユーザー

退会済みユーザー

総合スコア0

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

2グッド

0クリップ

投稿2019/11/24 06:12

編集2019/11/24 06:22

クラスInlineImage のメソッド、getWidth()、getHeight() を用いても取得することができません。

エラーメッセージ

TypeError: オブジェクト Blob で関数 getWidth が見つかりません。(行 7、ファイル「コード」)

Google

1function testFunc() { 2 3 var image_URL = 'http://kinocolog.com/wp-content/uploads/2016/05/d301a87d37e512ecc42156f02a980f6a-300x250.jpg'; 4 var response = UrlFetchApp.fetch(image_URL); 5 var image = response.getBlob(); 6 7 var w = image.getWidth(); // 幅 8 var h = image.getHeight(); // 高さ 9 10 Logger.log([w, h]); 11}
退会済みユーザー👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Google Apps Scriptのみでダウンロードした画像データの幅、高さを取得したい場合は、残念ながらblobから直接取得するためのメソッドは用意されておりません。そこで、Google Apps Script用のライブラリを使用するのはいかがでしょうか。このライブラリは、バイナリデータから直接画像データの幅、高さを取得することができます。

スクリプトを使用する前にライブラリをインストールしてください。英語で恐縮なのですが、インストール方法はこちらでご確認頂けます。

修正したスクリプト

ライブラリを使って修正したスクリプトは下記の通りです。

javascript

1function testFunc() { 2 var image_URL = 'http://kinocolog.com/wp-content/uploads/2016/05/d301a87d37e512ecc42156f02a980f6a-300x250.jpg'; 3 var response = UrlFetchApp.fetch(image_URL); 4 var image = response.getBlob(); 5 6 var res = ImgApp.getSize(image); 7 var w = res.width; // 幅 8 var h = res.height; // 高さ 9 10 Logger.log([w, h]); // <--- [300,250] 11}
  • 実際に上記のスクリプトを実行すると、ログへ[300,250]が確認できます。

参考

投稿2019/11/24 07:36

kisojin

総合スコア899

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/11/24 07:46

あなた優しいし凄いね。 あなたみたいな人を救世主と呼ぶね。
kisojin

2019/11/25 01:41

ご返事ありがとうございます。問題解決のための参考になれば幸いです。
guest

0

canvasでわかるようです。
引用元

以下引用

HTMl

1 2<!DOCTYPE html> 3<html> 4<head> 5<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 6 <title></title> 7 <meta charset="utf-8" /> 8 9 <script type="text/javascript"> 10 function draw() { 11 var canvas = document.getElementById('SimpleCanvas'); 12 13 if (!canvas || !canvas.getContext) { 14 return false; 15 } 16 var context = canvas.getContext('2d'); 17 18 var img = new Image(); 19 20 img.onload = function onImageLoad() { 21 context.drawImage(img, 0, 0); 22 var imageData = context.getImageData(64, 64, 1, 1); 23 var outFrame = document.getElementById('output'); 24 outFrame.innerText = "(R,G,B,a) = (" + imageData.data[0] + "," + imageData.data[1] + "," + imageData.data[2] + "," + imageData.data[3] + ")"; 25 } 26 27 img.src = 'resource/img03.png'; //相対URLの場合 28 //img.src = 'http://www.ipentec.com/demo/canvas/resource/img03.png'; 29 } 30 </script> 31 32</head> 33<body onload="draw()" style="background-color:#D0D0D0;"> 34 <canvas id="SimpleCanvas" width="640" height="360" style="background-color:#FFFFFF;"></canvas> 35 <div>Canvas Demo</div> 36 <div id="output"></div> 37</body> 38</html> 39

以上引用

投稿2019/11/24 06:43

kyoya0819

総合スコア10434

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/11/24 07:02

ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問