私はコーディングの初心者です。私はこれらのことをしたい:
- キャンバスを作成します。
- 背景画像を入れます。背景画像のみが必要であることに注意してください。「drawImage(image, x, y)」を使用して画像を前景に保持したくありません。
- 背景画像のズームインとズームアウトに使用できるスライダーを保持します。(ここでの問題は、画像を背景のままにしておくと、サイズを変更できるようにそれをキャッチする方法がわからないことです)。
- ボタンは2つにしておきましょう。1 つは画像を左に回転し、2 つ目のボタンは画像を右に回転します。
HTML5、CSS3、jQueryのみを使用してこれらのことを行いたいです。
どなたか初心者にも分かりやすく教えていただけるとありがたいです。可能であれば、コードを詳しく説明してください。
ありがとうございました。
これが私が試したコードです:
<div class="slider" style="width:500px; height:10px;"></div>
<br />
<div id="div_buttons">
<table border="0">
<tr>
<td>
<input type="button" id="rotateLeft" align = "left" value="Rotate Left" />
</td>
<td>
<input type="button" id="rotateRight" align = "left" value="Rotate Right" />
</td>
</tr>
</table>
</div>
<!--HERE IS THE STYLE TAG... -->
<style type="text/css">
img
{
opacity: 0.5;
}
.canvas
{
background: url('script.jpg');
opacity: 0.5;
}
</style>
<!--HERE IS THE JAVASCRIPT INSIDE <SCRIPT> TAG... -->
<script type="text/javascript">
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext('2d');
var globalElement_width;
var globalElement_height;
$(document).ready
(function() {
$img = $('.canvas img');
globalElement_width = $img.width();
globalElement_height = $img.height();
$(".slider").slider
({
step: 1,
min: 10,
max: 100,
value: 0,
slide: function(event, ui)
{
resize_img(ui.value);
}
});
//$('.canvas img').draggable();
$("#rotateLeft").click(function() {
$('canvas').css({
"transform":"rotate(-90deg)"
});
}
) //addClass("left")
$("#rotateRight").click(function() {
$('canvas').css({
"transform":"rotate(0deg)"
});
}
)
});
function resize_img(val)
{
var width = globalElement_width;
var height = globalElement_height;
var zoom_percen = (height * 1); // Maximum zoom 50%
var ASPECT = 10;//zoom_percen / 30;
var zoom_value = val / 1;
var size = width + ASPECT * zoom_value;
var d = ASPECT*zoom_value/10;
$img = $('.canvas img');
$img.stop(true).animate({
marginTop: -d,
marginLeft: -d,
width: size,
height: size
}, 250);
}
</script>
</body>