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

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

新規登録して質問してみよう
ただいま回答率
85.50%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

472閲覧

RICOH THETAの画像をweb上で表示したい

html5x

総合スコア14

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2017/11/26 03:01

編集2022/01/12 10:55

RICOH THETAの画像をウェブ上で表示するため、
https://qiita.com/kingpanda/items/1c3a47765b40d6d62f46
を参考に,three.jsを使ってコード作成したのですが、うまく動きません。
以下の点について教えてください。
オリジナルのソースは
https://github.com/king-panda/panorama
にあります。

1.オリジナルのままだと、画像がフルスクリーンになるため、
window.innerWidthとwindow.innerHeightを1/4にしました。
変更すると画像は小さくなりますが、スマホを横にしたあと縦に戻すと、フル画面になってしまいます。
また、下にスクロールした途端画面が拡大されてしまいます。
画像サイズを一定にする(画面比率に応じて固定)にはどうすればいいでしょうか?

2.違う画像を複数配置(パソコンだと横に3つ、スマホだと縦に3つ並ぶようにしたい)のですが、
どうコーディングすれば可能でしょうか。

よろしくお願いします。

html

1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <title>Panorama Example</title> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6 <meta name="viewport" content="width=device-width"> 7 <link href="bootstrap.css" rel="stylesheet"> 8 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 9 <script src="bootstrap.js"></script> 10 </head> 11 <body> 12 13<div class="container"> 14 <div class="col-sm-12 col-md-12 col-lg-12 col-xs-12"> 15 <div id="stage" class="img-responsive"></div> 16 <div class="caption"> 17 <h3>Product</h3> 18 <p>Lorem ipsum dolor sit amet, consectetur adipisicing.</p> 19 <p>Lorem ipsum dolor sit amet, consectetur adipisicing.</p> 20 <p>Lorem ipsum dolor sit amet, consectetur adipisicing.</p> 21 <p>Lorem ipsum dolor sit amet, consectetur adipisicing.</p> 22 <p>Lorem ipsum dolor sit amet, consectetur adipisicing.</p> 23 <p>Lorem ipsum dolor sit amet, consectetur adipisicing.</p> 24 <p>Lorem ipsum dolor sit amet, consectetur adipisicing.</p> 25 <p>Lorem ipsum dolor sit amet, consectetur adipisicing.</p> 26 <p>Lorem ipsum dolor sit amet, consectetur adipisicing.</p> 27 <p>Lorem ipsum dolor sit amet, consectetur adipisicing.</p> 28 <p>Lorem ipsum dolor sit amet, consectetur adipisicing.</p> 29 <p>Lorem ipsum dolor sit amet, consectetur adipisicing.</p> 30 </div> 31 </div> 32</div> 33 34 <script src="three.min.js"></script> 35 <script src="OrbitControls.js"></script> 36 37 38<script> 39(function(){ 40 41 var width = window.innerWidth/4, 42 height = window.innerHeight/4; 43 44 //scene 45 46 var scene = new THREE.Scene(); 47 48 //mesh 49 50 var geometry = new THREE.SphereGeometry( 5, 60, 40 ); 51 geometry.scale( - 1, 1, 1 ); 52 53 var material = new THREE.MeshBasicMaterial( { 54 map: THREE.ImageUtils.loadTexture( 'test.jpg' ) 55 } ); 56 57 sphere = new THREE.Mesh( geometry, material ); 58 59 scene.add( sphere ); 60 61 //camera 62 63 var camera = new THREE.PerspectiveCamera(75, width / height, 1, 1000); 64 camera.position.set(0,0,0.1); 65 camera.lookAt(sphere.position); 66 67 //helper 68 69 var axis = new THREE.AxisHelper(1000); 70 axis.position.set(0,0,0); 71 scene.add(axis); 72 73 //render 74 75 var renderer = new THREE.WebGLRenderer(); 76 renderer.setSize(width,height); 77 renderer.setClearColor({color: 0x000000}); 78 document.getElementById('stage').appendChild(renderer.domElement); 79 renderer.render(scene,camera); 80 81 //control 82 83 var controls = new THREE.OrbitControls(camera,renderer.domElement); 84 85 86 function render(){ 87 88 requestAnimationFrame(render); 89 sphere.rotation.y += 0.05 * Math.PI/180; 90 window.addEventListener( 'resize', onWindowResize, false ); 91 renderer.render(scene,camera); 92 controls.update(); 93 } 94 render(); 95 96 function onWindowResize() { 97 98 camera.aspect = window.innerWidth / window.innerHeight; 99 camera.updateProjectionMatrix(); 100 101 renderer.setSize( window.innerWidth, window.innerHeight ); 102 103 } 104 105 106})(); 107 108 109 </script> 110 </body> 111</html>

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

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

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

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

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

guest

回答1

0

別の実装方法でも良ければ、過去に調べてjQueryのライブラリとなっているものを用いて表示が可能だったことがあります。
記事にしてありますので、こちらをご参考ください。
https://qiita.com/sakapun/items/477c54c33a1d942d127f

投稿2017/11/30 15:16

sakapun

総合スコア888

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問