亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

jcrop 網頁截圖工具(插件)開發

2019-11-26 16:17:42
字體:
來源:轉載
供稿:網友

今天給大家介紹一下一個web 中經常會用到的截圖(如:頭像等)工具:

Jcrop演示

項目結構:

效果圖:

這個很有用:

看到這些,大家也想自己試試吧

===========================================

代碼部分:

===========================================

準備工作:

下載:Jcrop-0.9.10 (zip format)

解壓后放入到你的項目里面,就如上面的項目結構一樣...

/Jcrop/WebContent/tapmodo-Jcrop/demos/tutorial1.html

復制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<title>Jcrop » Tutorials » Hello World</title>
<script src="../js/jquery.min.js" type="text/javascript"></script>
<script src="../js/jquery.Jcrop.js" type="text/javascript"></script>
<link rel="stylesheet" href="../css/jquery.Jcrop.css" type="text/css" />
<link rel="stylesheet" href="demo_files/demos.css" type="text/css" />
<script type="text/javascript">

jQuery(function($){

// How easy is this??
$('#target').Jcrop();

});

</script>
</head>

<body>
<div id="outer">
<div class="jcExample">
<div class="article">

<h1>Jcrop - Hello World</h1>
<img src="demo_files/pool.jpg" id="target" alt="Flowers" />

<p>
<b>This example demonstrates the default behavior of Jcrop.</b>
Since no event handlers have been attached it only performs
the cropping behavior.
</p>

<div id="dl_links">
<a >Jcrop Home</a> |
<a >Manual (Docs)</a>
</div>

</div>
</div>
</div>
</body>
</html>

/Jcrop/WebContent/tapmodo-Jcrop/demos/tutorial2.html
復制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<title>Jcrop » Tutorials » Event Handler</title>
<script src="../js/jquery.min.js" type="text/javascript"></script>
<script src="../js/jquery.Jcrop.js" type="text/javascript"></script>
<link rel="stylesheet" href="../css/jquery.Jcrop.css" type="text/css" />
<link rel="stylesheet" href="demo_files/demos.css" type="text/css" />
<script type="text/javascript">
jQuery(function($){
$('#target').Jcrop({
onChange: showCoords,
onSelect: showCoords,
onRelease: clearCoords
});
});
// Simple event handler, called from onChange and onSelect
// event handlers, as per the Jcrop invocation above
function showCoords(c)
{
$('#x1').val(c.x);
$('#y1').val(c.y);
$('#x2').val(c.x2);
$('#y2').val(c.y2);
$('#w').val(c.w);
$('#h').val(c.h);
};
function clearCoords()
{
$('#coords input').val('');
};
</script>
</head>
<body>
<div id="outer">
<div class="jcExample">
<div class="article">
<h1>Jcrop - Event Handlers</h1>
<!-- This is the image we're attaching Jcrop to -->
<img src="demo_files/pool.jpg" id="target" alt="Flowers" />
<!-- This is the form that our event handler fills -->
<form id="coords"
class="coords"
onsubmit="return false;"
action="http://example.com/post.php">
<div>
<label>X1 <input type="text" size="4" id="x1" name="x1" /></label>
<label>Y1 <input type="text" size="4" id="y1" name="y1" /></label>
<label>X2 <input type="text" size="4" id="x2" name="x2" /></label>
<label>Y2 <input type="text" size="4" id="y2" name="y2" /></label>
<label>W <input type="text" size="4" id="w" name="w" /></label>
<label>H <input type="text" size="4" id="h" name="h" /></label>
</div>
</form>
<p>
<b>An example with a basic event handler.</b> Here we've tied
several form values together with a simple event handler invocation.
The result is that the form values are updated in real-time as
the selection is changed using Jcrop's <em>onChange</em> handler.
</p>
<p>
That's how easily Jcrop can be integrated into a traditional web form!
</p>
<div id="dl_links">
<a >Jcrop Home</a> |
<a >Manual (Docs)</a>
</div>
</div>
</div>
</div>
</body>
</html>

/Jcrop/WebContent/tapmodo-Jcrop/demos/tutorial3.html
 
復制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<title>Jcrop » Tutorials » aspectRatio w/ Preview</title>
<script src="../js/jquery.min.js" type="text/javascript"></script>
<script src="../js/jquery.Jcrop.js" type="text/javascript"></script>
<link rel="stylesheet" href="../css/jquery.Jcrop.css" type="text/css" />
<link rel="stylesheet" href="demo_files/demos.css" type="text/css" />
<script type="text/javascript">
jQuery(function($) {
// Create variables (in this scope) to hold the API and image size
var jcrop_api, boundx, boundy;
$('#target').Jcrop({
onChange : updatePreview,
onSelect : updatePreview,
aspectRatio : 1
}, function() {
// Use the API to get the real image size
var bounds = this.getBounds();
boundx = bounds[0];
boundy = bounds[1];
// Store the API in the jcrop_api variable
jcrop_api = this;
});
function updatePreview(c) {
if (parseInt(c.w) > 0) {
var rx = 100 / c.w;
var ry = 100 / c.h;
$('#preview').css({
width : Math.round(rx * boundx) + 'px',
height : Math.round(ry * boundy) + 'px',
marginLeft : '-' + Math.round(rx * c.x) + 'px',
marginTop : '-' + Math.round(ry * c.y) + 'px'
});
}
}

});
</script>
</head>
<body>
<div id="outer">
<div class="jcExample">
<div class="article">
<h1>Jcrop - Aspect ratio w/ preview pane</h1>
<table>
<tr>
<td>
<div style="width: 500px; height: 370px; overflow: hidden;">
<img src="demo_files/pool.jpg" id="target" alt="Flowers" style="width: 500px; height: 370px;"/>
</div>
</td>
<td>
<div style="width: 100px; height: 100px; overflow: hidden;">
<img src="demo_files/pool.jpg" id="preview" alt="Preview" class="jcrop-preview" />
</div>
</td>
</tr>
</table>
<p>
<b>An example implementing a preview pane.</b> Obviously the most visual demo, the preview pane is accomplished entirely outside of Jcrop with a simple jQuery-flavored callback. This type of interface could be useful for creating a thumbnail or avatar. The onChange event handler is used to update the view in the preview pane.
</p>
<div id="dl_links">
<a >Jcrop Home</a> | <a >Manual (Docs)</a>
</div>
</div>
</div>
</div>
</body>
</html>

/Jcrop/WebContent/tapmodo-Jcrop/demos/tutorial4.html
復制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<title>Jcrop » Tutorials » Animations / Transitions</title>
<script src="../js/jquery.min.js" type="text/javascript"></script>
<script src="../js/jquery.Jcrop.js" type="text/javascript"></script>
<script src="../js/jquery.color.js" type="text/javascript"></script>
<link rel="stylesheet" href="../css/jquery.Jcrop.css" type="text/css" />
<link rel="stylesheet" href="../css/jquery.Jcrop.extras.css" type="text/css" />
<link rel="stylesheet" href="demo_files/demos.css" type="text/css" />
<script type="text/javascript">
jQuery(function($){
var jcrop_api;
$('#target').Jcrop({
bgFade: true,
bgOpacity: .3,
setSelect: [ 60, 70, 540, 330 ]
},function(){
jcrop_api = this;
});
$('#fadetog').change(function(){
jcrop_api.setOptions({
bgFade: this.checked
});
}).attr('checked','checked');
$('#shadetog').change(function(){
if (this.checked) $('#shadetxt').slideDown();
else $('#shadetxt').slideUp();
jcrop_api.setOptions({
shade: this.checked
});
}).attr('checked',false);
// Define page sections
var sections = {
anim_buttons: 'Animate Selection',
bgo_buttons: 'Change bgOpacity',
bgc_buttons: 'Change bgColor'
};
// Define animation buttons
var ac = {
anim1: [217,122,382,284],
anim2: [20,20,580,380],
anim3: [24,24,176,376],
anim4: [347,165,550,355],
anim5: [136,55,472,183]
};
// Define bgOpacity buttons
var bgo = {
Low: .2,
Mid: .5,
High: .8,
Full: 1
};
// Define bgColor buttons
var bgc = {
Red: '#900',
Blue: '#4BB6F0',
Yellow: '#F0B207',
Green: '#46B81C',
White: 'white',
Black: 'black'
};
// Create fieldset targets for buttons
for(i in sections)
insertSection(i,sections[i]);
// Create animation buttons
for(i in ac) {
$('#anim_buttons').append(
$('<button />').append(i).click(animHandler(ac[i])), ' '
);
}
// Create bgOpacity buttons
for(i in bgo) {
$('#bgo_buttons').append(
$('<button />').append(i).click(setoptHandler('bgOpacity',bgo[i])), ' '
);
}
// Create bgColor buttons
for(i in bgc) {
$('#bgc_buttons').append(
$('<button />').append(i).css({
backgroundColor: bgc[i],
color: ((i == 'Black') || (i == 'Red'))?'white':'black'
}).click(setoptHandler('bgColor',bgc[i])), ' '
);
}
// Function to insert named sections into interface
function insertSection(k,v) {
$('#interface').append(
$('<fieldset></fieldset>').attr('id',k).append(
$('<legend></legend>').append(v)
)
);
};
// Handler for option-setting buttons
function setoptHandler(k,v) {
return function() {
var opt = { };
opt[k] = v;
jcrop_api.setOptions(opt);
return false;
};
};
// Handler for animation buttons
function animHandler(v) {
return function() {
jcrop_api.animateTo(v);
return false;
};
};
$('#anim_buttons').append(
$('<button></button>').append('Bye!').click(function(){
jcrop_api.animateTo(
[300,200,300,200],
function(){ this.release(); }
);
return false;
})
);
$('#interface').show();
});
</script>
</head>
<body>
<div id="outer">
<div class="jcExample">
<div class="article">
<h1>Jcrop - Animations/Transitions</h1>
<img src="demo_files/sago.jpg" id="target" alt="Flowers" />
<div id="interface" style="margin: 1em 0;"></div>
<div><label><input type="checkbox" id="fadetog" /> Enable fading (bgFade: true)</label></div>
<div><label><input type="checkbox" id="shadetog" /> Use experimental shader (shade: true)</label></div>
<p id="shadetxt" style="display:none; color:#900;">
<b>Experimental shader active.</b>
Jcrop now includes a shading mode that facilitates building
better transparent Jcrop instances. The experimental shader is less
robust than Jcrop's default shading method and should only be
used if you require this functionality.
</p>
<p>
<b>Animation/Transitions.</b>
Demonstration of animateTo API method and transitions for bgColor
and bgOpacity options. Color fading requires inclusion of John Resig's
jQuery <a >Color
Animations</a> plugin. If it is not included, colors will not fade.
</p>
<div id="dl_links">
<a >Jcrop Home</a> |
<a >Manual (Docs)</a>
</div>
</div>
</div>
</div>
</body>
</html>

/Jcrop/WebContent/tapmodo-Jcrop/demos/tutorial5.html
復制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<title>Jcrop » Tutorials » API Demo</title>
<script src="../js/jquery.min.js" type="text/javascript"></script>
<script src="../js/jquery.Jcrop.js" type="text/javascript"></script>
<link rel="stylesheet" href="../css/jquery.Jcrop.css" type="text/css" />
<link rel="stylesheet" href="demo_files/demos.css" type="text/css" />
<style type="text/css">
.optdual { position: relative; }
.optdual .offset { position: absolute; left: 18em; }
.optlist label { width: 16em; display: block; }
#dl_links { margin-top: .5em; }
</style>
<script type="text/javascript">
jQuery(function($){
// The variable jcrop_api will hold a reference to the
// Jcrop API once Jcrop is instantiated.
var jcrop_api;
// In this example, since Jcrop may be attached or detached
// at the whim of the user, I've wrapped the call into a function
initJcrop();
// The function is pretty simple
function initJcrop()//{{{
{
// Hide any interface elements that require Jcrop
// (This is for the local user interface portion.)
$('.requiresjcrop').hide();
// Invoke Jcrop in typical fashion
$('#target').Jcrop({
onRelease: releaseCheck
},function(){
jcrop_api = this;
jcrop_api.animateTo([100,100,400,300]);
// Setup and dipslay the interface for "enabled"
$('#can_click,#can_move,#can_size').attr('checked','checked');
$('#ar_lock,#size_lock,#bg_swap').attr('checked',false);
$('.requiresjcrop').show();
});
};
//}}}
// Use the API to find cropping dimensions
// Then generate a random selection
// This function is used by setSelect and animateTo buttons
// Mainly for demonstration purposes
function getRandom() {
var dim = jcrop_api.getBounds();
return [
Math.round(Math.random() * dim[0]),
Math.round(Math.random() * dim[1]),
Math.round(Math.random() * dim[0]),
Math.round(Math.random() * dim[1])
];
};
// This function is bound to the onRelease handler...
// In certain circumstances (such as if you set minSize
// and aspectRatio together), you can inadvertently lose
// the selection. This callback re-enables creating selections
// in such a case. Although the need to do this is based on a
// buggy behavior, it's recommended that you in some way trap
// the onRelease callback if you use allowSelect: false
function releaseCheck()
{
jcrop_api.setOptions({ allowSelect: true });
$('#can_click').attr('checked',false);
};
// Attach interface buttons
// This may appear to be a lot of code but it's simple stuff
$('#setSelect').click(function(e) {
// Sets a random selection
jcrop_api.setSelect(getRandom());
});
$('#animateTo').click(function(e) {
// Animates to a random selection
jcrop_api.animateTo(getRandom());
});
$('#release').click(function(e) {
// Release method clears the selection
jcrop_api.release();
});
$('#disable').click(function(e) {
// Disable Jcrop instance
jcrop_api.disable();
// Update the interface to reflect disabled state
$('#enable').show();
$('.requiresjcrop').hide();
});
$('#enable').click(function(e) {
// Re-enable Jcrop instance
jcrop_api.enable();
// Update the interface to reflect enabled state
$('#enable').hide();
$('.requiresjcrop').show();
});
$('#rehook').click(function(e) {
// This button is visible when Jcrop has been destroyed
// It performs the re-attachment and updates the UI
$('#rehook,#enable').hide();
initJcrop();
$('#unhook,.requiresjcrop').show();
return false;
});
$('#unhook').click(function(e) {
// Destroy Jcrop widget, restore original state
jcrop_api.destroy();
// Update the interface to reflect un-attached state
$('#unhook,#enable,.requiresjcrop').hide();
$('#rehook').show();
return false;
});
// Hook up the three image-swapping buttons
$('#img1').click(function(e) {
jcrop_api.setImage('demo_files/sago.jpg');
jcrop_api.setOptions({ bgOpacity: .6 });
return false;
});
$('#img2').click(function(e) {
jcrop_api.setImage('demo_files/pool.jpg');
jcrop_api.setOptions({ bgOpacity: .6 });
return false;
});
$('#img3').click(function(e) {
jcrop_api.setImage('demo_files/sago.jpg',function(){
this.setOptions({
bgOpacity: 1,
outerImage: 'demo_files/sagomod.jpg'
});
this.animateTo(getRandom());
});
return false;
});
// The checkboxes simply set options based on it's checked value
// Options are changed by passing a new options object
// Also, to prevent strange behavior, they are initially checked
// This matches the default initial state of Jcrop
$('#can_click').change(function(e) {
jcrop_api.setOptions({ allowSelect: !!this.checked });
jcrop_api.focus();
});
$('#can_move').change(function(e) {
jcrop_api.setOptions({ allowMove: !!this.checked });
jcrop_api.focus();
});
$('#can_size').change(function(e) {
jcrop_api.setOptions({ allowResize: !!this.checked });
jcrop_api.focus();
});
$('#ar_lock').change(function(e) {
jcrop_api.setOptions(this.checked?
{ aspectRatio: 4/3 }: { aspectRatio: 0 });
jcrop_api.focus();
});
$('#size_lock').change(function(e) {
jcrop_api.setOptions(this.checked? {
minSize: [ 80, 80 ],
maxSize: [ 350, 350 ]
}: {
minSize: [ 0, 0 ],
maxSize: [ 0, 0 ]
});
jcrop_api.focus();
});
});
</script>
</head>
<body>
<div id="outer">
<div class="jcExample">
<div class="article">
<h1>Jcrop - API Demo</h1>
<img src="demo_files/sago.jpg" id="target" alt="Jcrop Image" />
<div style="margin: .8em 0 .5em;">
<span class="requiresjcrop">
<button id="setSelect">setSelect</button>
<button id="animateTo">animateTo</button>
<button id="release">Release</button>
<button id="disable">Disable</button>
</span>
<button id="enable" style="display:none;">Re-Enable</button>
<button id="unhook">Destroy!</button>
<button id="rehook" style="display:none;">Attach Jcrop</button>
</div>
<fieldset class="optdual requiresjcrop">
<legend>Option Toggles</legend>
<div class="optlist offset">
<label><input type="checkbox" id="ar_lock" />Aspect ratio</label>
<label><input type="checkbox" id="size_lock" />minSize/maxSize setting</label>
</div>
<div class="optlist">
<label><input type="checkbox" id="can_click" />Allow new selections</label>
<label><input type="checkbox" id="can_move" />Selection can be moved</label>
<label><input type="checkbox" id="can_size" />Resizable selection</label>
</div>
</fieldset>
<fieldset class="requiresjcrop" style="margin: .5em 0;">
<legend>Change Image</legend>
<span>
<button id="img2">Pool</button>
<button id="img1">Sago</button>
<button id="img3">Sago w/ outerImage</button>
</span>
</fieldset>
<div id="dl_links">
<a >Jcrop Home</a> |
<a >Manual (Docs)</a>
</div>
</div>
</div>
</div>
</body>
</html>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
不卡毛片在线看| 久久伊人色综合| 国产精品国产福利国产秒拍| 亚洲美女又黄又爽在线观看| 欧美一区第一页| 亚洲性av网站| 国产精品中文在线| 国产精品视频在线观看| 日韩亚洲第一页| 久久久久中文字幕2018| 国产一区二区三区在线播放免费观看| 97视频在线观看免费高清完整版在线观看| 亚洲国产天堂久久综合网| 97在线视频免费看| 国产成人精品a视频一区www| 欧美日韩美女在线观看| 日韩女在线观看| 欧美一级大片在线观看| 欧美极品少妇全裸体| 欧美国产日韩一区二区| 韩国欧美亚洲国产| 国模gogo一区二区大胆私拍| 成人淫片在线看| 精品亚洲一区二区| 国产精品视频不卡| 国产精品一区二区av影院萌芽| 欧美一级黄色网| 亚洲成av人片在线观看香蕉| 97视频色精品| 少妇高潮久久77777| 国产精品稀缺呦系列在线| 久久久精品视频在线观看| 日本乱人伦a精品| 伊人伊成久久人综合网小说| 国产日韩欧美另类| 麻豆成人在线看| 久久中文字幕在线视频| 亚洲最大中文字幕| 国产福利精品在线| 成人网页在线免费观看| 美女久久久久久久久久久| 欧美裸体xxxxx| 久久的精品视频| 97免费中文视频在线观看| 国产精品96久久久久久| 国产精品久久激情| 欧美成人免费一级人片100| 中文字幕精品www乱入免费视频| 精品视频在线观看日韩| 最近免费中文字幕视频2019| 亚洲午夜小视频| 51精品国产黑色丝袜高跟鞋| 91超碰中文字幕久久精品| 国产不卡av在线| 91欧美精品午夜性色福利在线| 久久久久久成人精品| 在线观看中文字幕亚洲| 欧美一级淫片播放口| 久久久999国产| 免费不卡欧美自拍视频| 91亚洲国产成人久久精品网站| 日本道色综合久久影院| 欧美性猛交99久久久久99按摩| 草民午夜欧美限制a级福利片| 国产成人精品在线播放| 欧美一区亚洲一区| 国产精品无av码在线观看| 午夜精品久久久久久久男人的天堂| 欧美激情va永久在线播放| 国产一区二区三区免费视频| 最近中文字幕日韩精品| 亚洲精品中文字| 久久视频在线视频| 国产精品1区2区在线观看| 国产精品视频xxxx| 91在线免费视频| 国产综合视频在线观看| 成人久久久久久久| 岛国av一区二区| 91美女福利视频高清| 国产福利视频一区| 欧美电影在线观看网站| 美女久久久久久久久久久| 最近2019中文字幕在线高清| 欧美另类精品xxxx孕妇| 国产精品爽爽爽爽爽爽在线观看| 亚洲成人教育av| www日韩中文字幕在线看| 国产视频精品一区二区三区| 91国产精品电影| 国产在线一区二区三区| 国产精品久久久久999| 欧美视频在线观看免费| 精品福利在线看| 亚洲国产精品嫩草影院久久| 亚洲欧美成人一区二区在线电影| 成人免费xxxxx在线观看| 欧美激情在线狂野欧美精品| 国产精品一区二区三区久久久| 日韩一二三在线视频播| 亚洲精品成人网| 97精品国产91久久久久久| 欧美性20hd另类| 国产成人精品在线播放| 日韩av在线免费播放| 亚洲国产日韩欧美综合久久| 国产精品夜色7777狼人| 国产91色在线播放| 另类少妇人与禽zozz0性伦| 国产国产精品人在线视| xxxx性欧美| 欧美激情影音先锋| 国产99视频精品免视看7| 亚洲美女视频网| 欧美亚洲在线视频| 精品久久久久久电影| 国产日韩亚洲欧美| 日韩精品极品视频| 国产精品福利网站| 91禁国产网站| 一区二区欧美亚洲| 亚洲一区二区在线播放| 2019亚洲日韩新视频| 亚洲免费视频在线观看| 高清一区二区三区四区五区| 精品国产乱码久久久久久虫虫漫画| 日韩精品中文字幕在线播放| 亚洲欧美精品中文字幕在线| 国产69精品久久久久99| xxx一区二区| 国产精品美女av| 日韩精品极品毛片系列视频| 国产精品久久久久久久久久新婚| 欧美激情视频在线免费观看 欧美视频免费一| 国产日韩欧美电影在线观看| 欧美一级高清免费播放| 国产成+人+综合+亚洲欧洲| 国产91精品久久久久久| 亚洲激情自拍图| 亚洲成人1234| 欧美猛男性生活免费| 精品国产一区二区三区久久久| 不卡av在线网站| 国产日韩欧美91| 亚洲综合色av| 久久99国产综合精品女同| 欧美另类高清videos| 国产精品亚洲片夜色在线| 亚洲香蕉伊综合在人在线视看| 久久全球大尺度高清视频| 久久精品国产2020观看福利| 日韩av理论片| 亚洲激情中文字幕| 成人国产在线视频| 一区二区三区视频免费| 久久久久久久久久久网站| 国产亚洲精品久久| 尤物99国产成人精品视频| 国产精品成人av在线| 这里只有精品久久| 久久99久国产精品黄毛片入口| 国产精品美女www| 黑人巨大精品欧美一区免费视频| 热久久免费国产视频|