锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品V欧洲精品V日韩精品,亚洲乱人伦精品图片,亚洲福利一区二区三区http://m.tkk7.com/Pudgy/category/2630.html<SCRIPT> var dict_width = 'auto' var dict_height = '72px' var dict_background = 'transparent' var dict_border = '0px dotted #000000' var dict_textColor = '#6FBC4C' var dict_fontSize = '100%' var dict_encoding = 'Utf-8' </SCRIPT> <SCRIPT src="http://livid.cn/services/fortune"></SCRIPT> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script>zh-cnWed, 28 Feb 2007 15:41:24 GMTWed, 28 Feb 2007 15:41:24 GMT60Rotate Classhttp://m.tkk7.com/Pudgy/articles/13703.htmlPudgy's WorldPudgy's WorldWed, 21 Sep 2005 23:26:00 GMThttp://m.tkk7.com/Pudgy/articles/13703.htmlhttp://m.tkk7.com/Pudgy/comments/13703.htmlhttp://m.tkk7.com/Pudgy/articles/13703.html#Feedback0http://m.tkk7.com/Pudgy/comments/commentRss/13703.htmlhttp://m.tkk7.com/Pudgy/services/trackbacks/13703.html

聽聽聽聽/**
聽聽聽聽聽*聽Constant聽to聽specify聽that聽the聽bounding聽box聽should聽be聽not聽be聽changed聽
聽聽聽聽聽*聽for聽any聽angle聽of聽rotation聽when聽creating聽the聽rotated聽image.聽聽This聽
聽聽聽聽聽*聽means聽the聽returned聽image聽will聽be聽the聽same聽size聽as聽the聽given聽image.聽聽
聽聽聽聽聽*聽Of聽course,聽that聽also聽means聽the聽corners聽of聽the聽image聽may聽be聽cut聽off.聽聽
聽聽聽聽聽
*/
聽聽聽聽
publicstaticfinalint聽NO_BOUNDING_BOX聽=0;

聽聽聽聽
/**
聽聽聽聽聽*聽Constant聽to聽specify聽that聽the聽exact聽bounding聽box聽should聽be聽used聽for聽
聽聽聽聽聽*聽the聽specified聽angle聽of聽rotation聽when聽creating聽the聽rotated聽image.聽聽
聽聽聽聽聽*聽This聽is聽the聽default聽option.聽聽When聽used,聽the聽rotated聽image聽may聽be聽
聽聽聽聽聽*聽larger聽then聽the聽source聽image,聽but聽no聽larger聽then聽needed聽to聽fit聽the聽
聽聽聽聽聽*聽rotated聽image聽exactly.聽聽Therefore,聽rotating聽the聽same聽image聽to聽various聽
聽聽聽聽聽*聽angles聽may聽result聽in聽varying聽image聽sizes.聽聽
聽聽聽聽聽
*/
聽聽聽聽
publicstaticfinalint聽EXACT_BOUNDING_BOX聽=1;

聽聽聽聽
/**
聽聽聽聽聽*聽Constant聽to聽specify聽that聽the聽largest聽bounding聽box聽should聽be聽used聽when聽
聽聽聽聽聽*聽creating聽the聽rotated聽image.聽聽When聽used,聽the聽rotated聽image聽will聽be聽
聽聽聽聽聽*聽larger聽then聽the聽source聽image,聽but聽all聽rotated聽images聽of聽that聽same聽
聽聽聽聽聽*聽source聽image聽will聽be聽the聽same聽size,聽regardless聽of聽the聽angle聽of聽
聽聽聽聽聽*聽rotation.聽聽This聽may聽result聽in聽significant聽"empty聽space"聽between聽the聽
聽聽聽聽聽*聽edge聽of聽the聽returned聽image聽and聽the聽actual聽drawn聽pixel聽areas.聽聽
聽聽聽聽聽
*/
聽聽聽聽
publicstaticfinalint聽LARGEST_BOUNDING_BOX聽=2;


聽聽聽聽
/**
聽聽聽聽聽*聽Rotates聽the聽specified聽image聽the聽specified聽number聽of聽degrees.聽聽The聽
聽聽聽聽聽*聽rotation聽is聽performed聽around聽the聽center聽point聽of聽the聽image.聽聽
聽聽聽聽聽*聽
聽聽聽聽聽*聽
@param聽聽img聽聽聽聽聽聽聽聽聽the聽image聽to聽rotate
聽聽聽聽聽*聽
@param聽聽degrees聽聽聽聽聽the聽degrees聽to聽rotate
聽聽聽聽聽*聽
@param聽聽bbm聽聽聽聽聽聽聽聽聽the聽bounding聽box聽mode,聽default聽is聽EXACT_BOUNDING_BOX
聽聽聽聽聽*聽
@param聽聽background聽聽the聽background聽paint聽(texture,聽color聽or聽gradient),聽
聽聽聽聽聽*聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽can聽be聽null
聽聽聽聽聽*聽
@return聽聽the聽image
聽聽聽聽聽*聽
@see聽聽#NO_BOUNDING_BOX
聽聽聽聽聽*聽
@see聽聽#EXACT_BOUNDING_BOX
聽聽聽聽聽*聽
@see聽聽#LARGEST_BOUNDING_BOX
聽聽聽聽聽
*/
聽聽聽聽
publicstatic聽BufferedImage聽rotateDegrees(Image聽img,聽double聽degrees,聽int聽bbm,聽Paint聽background)聽{
聽聽聽聽聽聽聽聽
return聽rotateRadians(img,聽Math.toRadians(degrees),聽bbm,聽background);
聽聽聽聽}

聽聽聽聽
/**
聽聽聽聽聽*聽Rotates聽the聽specified聽image聽the聽specified聽number聽of聽radians.聽聽The聽
聽聽聽聽聽*聽rotation聽is聽performed聽around聽the聽center聽point聽of聽the聽image.聽聽This聽
聽聽聽聽聽*聽method聽is聽provided聽for聽convenience聽of聽applications聽using聽radians.聽聽
聽聽聽聽聽*聽For聽most聽people,聽degrees聽is聽simpler聽to聽use.聽聽
聽聽聽聽聽*聽
聽聽聽聽聽*聽
@param聽聽img聽聽聽聽聽聽聽聽聽the聽image聽to聽rotate
聽聽聽聽聽*聽
@param聽聽radians聽聽聽聽聽the聽radians聽to聽rotate
聽聽聽聽聽*聽
@param聽聽bbm聽聽聽聽聽聽聽聽聽the聽bounding聽box聽mode,聽default聽is聽EXACT_BOUNDING_BOX
聽聽聽聽聽*聽
@param聽聽background聽聽the聽background聽paint聽(texture,聽color聽or聽gradient),聽
聽聽聽聽聽*聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽can聽be聽null
聽聽聽聽聽*聽
@return聽聽the聽image
聽聽聽聽聽*聽
@see聽聽#NO_BOUNDING_BOX
聽聽聽聽聽*聽
@see聽聽#EXACT_BOUNDING_BOX
聽聽聽聽聽*聽
@see聽聽#LARGEST_BOUNDING_BOX
聽聽聽聽聽
*/
聽聽聽聽
publicstatic聽BufferedImage聽rotateRadians(Image聽img,聽double聽radians,聽int聽bbm,聽Paint聽background)聽{
聽聽聽聽聽聽聽聽
//聽get聽the聽original聽image's聽width聽and聽height
聽聽聽聽聽聽聽聽int聽iw聽=聽img.getWidth(null);
聽聽聽聽聽聽聽聽
int聽ih聽=聽img.getHeight(null);
聽聽聽聽聽聽聽聽
//聽calculate聽the聽new聽image's聽size聽based聽on聽bounding聽box聽mode
聽聽聽聽聽聽聽聽Dimension聽dim;
聽聽聽聽聽聽聽聽
if(bbm聽==聽NO_BOUNDING_BOX)聽{
聽聽聽聽聽聽聽聽聽聽聽聽dim聽
=new聽Dimension(iw,聽ih);
聽聽聽聽聽聽聽聽}聽
elseif(bbm聽==聽LARGEST_BOUNDING_BOX)聽{
聽聽聽聽聽聽聽聽聽聽聽聽dim聽
=聽getLargestBoundingBox(iw,聽ih);
聽聽聽聽聽聽聽聽}聽
else聽{聽//聽EXACT_BOUNDING_BOX
聽聽聽聽聽聽聽聽聽聽聽聽dim聽=聽getBoundingBox(iw,聽ih,聽Math.toDegrees(radians));
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽
//聽get聽the聽new聽image's聽width聽and聽height
聽聽聽聽聽聽聽聽int聽w聽=聽dim.width;
聽聽聽聽聽聽聽聽
int聽h聽=聽dim.height;
聽聽聽聽聽聽聽聽
//聽get聽the聽location聽to聽draw聽the聽original聽image聽on聽the聽new聽image
聽聽聽聽聽聽聽聽int聽x聽=聽(w/2)-(iw/2);
聽聽聽聽聽聽聽聽
int聽y聽=聽(h/2)-(ih/2);
聽聽聽聽聽聽聽聽
//聽need聽to聽copy聽the聽given聽image聽to聽a聽new聽BufferedImage聽because聽
聽聽聽聽聽聽聽聽
//聽it聽is,聽in聽most聽cases,聽going聽to聽be聽a聽larger聽image聽so聽it聽
聽聽聽聽聽聽聽聽
//聽needs聽to聽be聽drawn聽centered聽on聽the聽larger聽image
聽聽聽聽聽聽聽聽BufferedImage聽bi聽=new聽BufferedImage(w,聽h,聽BufferedImage.TYPE_INT_ARGB);
聽聽聽聽聽聽聽聽Graphics2D聽g2d聽
=聽bi.createGraphics();
聽聽聽聽聽聽聽聽
//聽set聽some聽rendering聽hints聽for聽better聽looking聽images
聽聽聽聽聽聽聽聽g2d.setRenderingHints(renderingHints);
聽聽聽聽聽聽聽聽
//聽draw聽the聽background聽paint,聽if聽necessary
聽聽聽聽聽聽聽聽if(background聽!=null)聽{
聽聽聽聽聽聽聽聽聽聽聽聽g2d.setPaint(background);
聽聽聽聽聽聽聽聽聽聽聽聽g2d.fillRect(
0,聽0,聽w,聽h);
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽
//聽if聽not聽rotating,聽just聽draw聽it聽normally,聽else聽create聽a聽transform
聽聽聽聽聽聽聽聽if(radians聽==0.0)聽{
聽聽聽聽聽聽聽聽聽聽聽聽g2d.drawImage(img,聽x,聽y,聽iw,聽ih,聽
null);
聽聽聽聽聽聽聽聽}聽
else聽{
聽聽聽聽聽聽聽聽聽聽聽聽g2d.rotate(radians,聽w
/2,聽h/2);
聽聽聽聽聽聽聽聽聽聽聽聽g2d.translate(x,聽y);
聽聽聽聽聽聽聽聽聽聽聽聽g2d.drawImage(img,聽
0,聽0,聽iw,聽ih,聽null);
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽g2d.dispose();
聽聽聽聽聽聽聽聽
return聽bi;
聽聽聽聽}

聽聽聽聽
/**
聽聽聽聽聽*聽Gets聽the聽largest聽bounding聽box聽size聽that聽can聽hold聽an聽image聽of聽the聽
聽聽聽聽聽*聽specified聽size聽at聽any聽angle聽of聽rotation.聽聽
聽聽聽聽聽*聽
聽聽聽聽聽*聽
@param聽聽width聽聽聽the聽image聽width
聽聽聽聽聽*聽
@param聽聽height聽聽the聽image聽height
聽聽聽聽聽*聽
@return聽聽the聽bounding聽box聽size
聽聽聽聽聽
*/
聽聽聽聽
publicstatic聽Dimension聽getLargestBoundingBox(int聽width,聽int聽height)聽{
聽聽聽聽聽聽聽聽
//聽The聽largest聽bounding聽box聽is聽the聽largest聽area聽needed聽to聽fit聽the聽
聽聽聽聽聽聽聽聽
//聽specified聽image聽at聽any聽angle聽or聽rotation.聽聽This聽is聽simpler聽then聽
聽聽聽聽聽聽聽聽
//聽getting聽the聽bounding聽box聽for聽a聽given聽angle聽because聽the聽largest聽
聽聽聽聽聽聽聽聽
//聽box聽will聽put聽the聽corner聽of聽the聽image聽box聽directly聽along聽the聽
聽聽聽聽聽聽聽聽
//聽vertical聽or聽horizontal聽axis聽from聽the聽image聽center聽point.聽聽The聽
聽聽聽聽聽聽聽聽
//聽distance聽between聽the聽image聽rectangle's聽center聽and聽any聽corner聽
聽聽聽聽聽聽聽聽
//聽is聽the聽hypotenuse聽of聽a聽right聽triangle聽who's聽other聽sides聽are聽
聽聽聽聽聽聽聽聽
//聽half聽the聽width聽(a)聽and聽half聽the聽height聽(b)聽of聽the聽rectangle.聽聽
聽聽聽聽聽聽聽聽
//聽A聽little聽a^2聽+聽b^2聽=聽c^2聽calculation聽and聽we聽get聽the聽length聽of聽
聽聽聽聽聽聽聽聽
//聽the聽hypotenuse.聽聽Double聽that聽to聽get聽a聽square聽within聽which聽the聽
聽聽聽聽聽聽聽聽
//聽image聽can聽be聽rotated聽at聽any聽angle聽without聽clipping聽the聽image.聽聽
聽聽聽聽聽聽聽聽double聽a聽=聽(double)width聽/2.0;
聽聽聽聽聽聽聽聽
double聽b聽=聽(double)height聽/2.0;
聽聽聽聽聽聽聽聽
//聽use聽Math.ceil()聽to聽round聽up聽to聽an聽int聽value
聽聽聽聽聽聽聽聽int聽c聽=聽(int)Math.ceil(Math.sqrt((a聽*聽a)聽+聽(b聽*聽b))聽*2.0);
聽聽聽聽聽聽聽聽
returnnew聽Dimension(c,聽c);
聽聽聽聽}

聽聽聽聽
/**
聽聽聽聽聽*聽Gets聽the聽optimal/smallest聽bounding聽box聽size聽that聽can聽hold聽an聽image聽of聽
聽聽聽聽聽*聽the聽specified聽size聽at聽the聽specified聽angle聽of聽rotation.聽聽
聽聽聽聽聽*聽
聽聽聽聽聽*聽
@param聽聽width聽聽聽the聽image聽width
聽聽聽聽聽*聽
@param聽聽height聽聽the聽image聽height
聽聽聽聽聽*聽
@return聽聽the聽bounding聽box聽size
聽聽聽聽聽
*/
聽聽聽聽
publicstatic聽Dimension聽getBoundingBox(int聽width,聽int聽height,聽double聽degrees)聽{
聽聽聽聽聽聽聽聽degrees聽
=聽normalizeDegrees(degrees);
聽聽聽聽聽聽聽聽
//聽if聽no聽rotation聽or聽180聽degrees,聽the聽size聽won't聽change
聽聽聽聽聽聽聽聽if(degrees聽==0.0||聽degrees聽==180.0)聽{
聽聽聽聽聽聽聽聽聽聽聽聽
returnnew聽Dimension(width,聽height);
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽
//聽if聽90聽or聽270聽(quarter聽or聽3-quarter聽rotations)聽the聽width聽becomes聽
聽聽聽聽聽聽聽聽
//聽the聽height,聽and聽vice聽versa
聽聽聽聽聽聽聽聽if(degrees聽==90.0||聽degrees聽==270.0)聽{
聽聽聽聽聽聽聽聽聽聽聽聽
returnnew聽Dimension(height,聽width);
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽
//聽for聽any聽other聽rotation,聽we聽need聽to聽do聽some聽trigonometry,聽
聽聽聽聽聽聽聽聽
//聽derived聽from聽description聽found聽at:聽聽
聽聽聽聽聽聽聽聽
//http://www.codeproject.com/csharp/rotateimage.asp
聽聽聽聽聽聽聽聽double聽radians聽=聽Math.toRadians(degrees);
聽聽聽聽聽聽聽聽
double聽aW聽=聽Math.abs(Math.cos(radians)聽*聽width);
聽聽聽聽聽聽聽聽
double聽oW聽=聽Math.abs(Math.sin(radians)聽*聽width);
聽聽聽聽聽聽聽聽
double聽aH聽=聽Math.abs(Math.cos(radians)聽*聽height);
聽聽聽聽聽聽聽聽
double聽oH聽=聽Math.abs(Math.sin(radians)聽*聽height);
聽聽聽聽聽聽聽聽
//聽use聽Math.ceil()聽to聽round聽up聽to聽an聽int聽value
聽聽聽聽聽聽聽聽int聽w聽=聽(int)Math.ceil(aW聽+聽oH);
聽聽聽聽聽聽聽聽
int聽h聽=聽(int)Math.ceil(oW聽+聽aH);
聽聽聽聽聽聽聽聽
returnnew聽Dimension(w,聽h);
聽聽聽聽}


Pudgy's World 2005-09-22 07:26 鍙戣〃璇勮
]]>
Rotate Image 45 Degreeshttp://m.tkk7.com/Pudgy/articles/13702.htmlPudgy's WorldPudgy's WorldWed, 21 Sep 2005 23:23:00 GMThttp://m.tkk7.com/Pudgy/articles/13702.htmlhttp://m.tkk7.com/Pudgy/comments/13702.htmlhttp://m.tkk7.com/Pudgy/articles/13702.html#Feedback0http://m.tkk7.com/Pudgy/comments/commentRss/13702.htmlhttp://m.tkk7.com/Pudgy/services/trackbacks/13702.htmlRotate Image 45 Degrees


/*

Java聽Media聽APIs:聽Cross-Platform聽Imaging,聽Media聽and聽Visualization
Alejandro聽Terrazas
Sams,聽Published聽November聽2002,聽
ISBN聽0672320940
*/


import聽java.awt.Graphics;
import聽java.awt.Graphics2D;
import聽java.awt.Image;
import聽java.awt.Insets;
import聽java.awt.MediaTracker;
import聽java.awt.Toolkit;
import聽java.awt.geom.AffineTransform;
import聽java.awt.geom.Point2D;
import聽java.awt.image.AffineTransformOp;
import聽java.awt.image.BufferedImage;
import聽java.awt.image.BufferedImageOp;

import聽javax.swing.JFrame;

/**
聽*聽RotateImage45Degrees.java聽-聽1.聽scales聽an聽image's聽dimensions聽by聽a聽factor聽of
聽*聽two聽2.聽rotates聽it聽45聽degrees聽around聽the聽image聽center聽3.聽displays聽the
聽*聽processed聽image
*/
publicclass聽RotateImage45Degrees聽extends聽JFrame聽{
聽聽
private聽Image聽inputImage;

聽聽
private聽BufferedImage聽sourceBI;

聽聽
private聽BufferedImage聽destinationBI聽=null;

聽聽
private聽Insets聽frameInsets;

聽聽
privateboolean聽sizeSet聽=false;

聽聽
public聽RotateImage45Degrees(String聽imageFile)聽{
聽聽聽聽addNotify();
聽聽聽聽frameInsets聽
=聽getInsets();
聽聽聽聽inputImage聽
=聽Toolkit.getDefaultToolkit().getImage(imageFile);

聽聽聽聽MediaTracker聽mt聽
=new聽MediaTracker(this);
聽聽聽聽mt.addImage(inputImage,聽
0);
聽聽聽聽
try聽{
聽聽聽聽聽聽mt.waitForID(
0);
聽聽聽聽}聽
catch聽(InterruptedException聽ie)聽{
聽聽聽聽}

聽聽聽聽sourceBI聽
=new聽BufferedImage(inputImage.getWidth(null),聽inputImage
聽聽聽聽聽聽聽聽.getHeight(
null),聽BufferedImage.TYPE_INT_ARGB);

聽聽聽聽Graphics2D聽g聽
=聽(Graphics2D)聽sourceBI.getGraphics();
聽聽聽聽g.drawImage(inputImage,聽
0,聽0,聽null);

聽聽聽聽AffineTransform聽at聽
=new聽AffineTransform();

聽聽聽聽
//聽scale聽image
聽聽聽聽at.scale(2.0,聽2.0);

聽聽聽聽
//聽rotate聽45聽degrees聽around聽image聽center
聽聽聽聽at.rotate(45.0*聽Math.PI聽/180.0,聽sourceBI.getWidth()聽/2.0,聽sourceBI
聽聽聽聽聽聽聽聽.getHeight()聽
/2.0);

聽聽聽聽
/*
聽聽聽聽聽*聽translate聽to聽make聽sure聽the聽rotation聽doesn't聽cut聽off聽any聽image聽data
聽聽聽聽聽
*/
聽聽聽聽AffineTransform聽translationTransform;
聽聽聽聽translationTransform聽
=聽findTranslation(at,聽sourceBI);
聽聽聽聽at.preConcatenate(translationTransform);

聽聽聽聽
//聽instantiate聽and聽apply聽affine聽transformation聽filter
聽聽聽聽BufferedImageOp聽bio;
聽聽聽聽bio聽
=new聽AffineTransformOp(at,聽AffineTransformOp.TYPE_BILINEAR);

聽聽聽聽destinationBI聽
=聽bio.filter(sourceBI,聽null);

聽聽聽聽
int聽frameInsetsHorizontal聽=聽frameInsets.right聽+聽frameInsets.left;
聽聽聽聽
int聽frameInsetsVertical聽=聽frameInsets.top聽+聽frameInsets.bottom;
聽聽聽聽setSize(destinationBI.getWidth()聽
+聽frameInsetsHorizontal,聽destinationBI
聽聽聽聽聽聽聽聽.getHeight()
聽聽聽聽聽聽聽聽
+聽frameInsetsVertical);
聽聽聽聽show();
聽聽}

聽聽
/*
聽聽聽*聽find聽proper聽translations聽to聽keep聽rotated聽image聽correctly聽displayed
聽聽聽
*/
聽聽
private聽AffineTransform聽findTranslation(AffineTransform聽at,聽BufferedImage聽bi)聽{
聽聽聽聽Point2D聽p2din,聽p2dout;

聽聽聽聽p2din聽
=new聽Point2D.Double(0.0,聽0.0);
聽聽聽聽p2dout聽
=聽at.transform(p2din,聽null);
聽聽聽聽
double聽ytrans聽=聽p2dout.getY();

聽聽聽聽p2din聽
=new聽Point2D.Double(0,聽bi.getHeight());
聽聽聽聽p2dout聽
=聽at.transform(p2din,聽null);
聽聽聽聽
double聽xtrans聽=聽p2dout.getX();

聽聽聽聽AffineTransform聽tat聽
=new聽AffineTransform();
聽聽聽聽tat.translate(
-xtrans,聽-ytrans);
聽聽聽聽
return聽tat;
聽聽}

聽聽
publicvoid聽paint(Graphics聽g)聽{
聽聽聽聽
if聽(destinationBI聽!=null)
聽聽聽聽聽聽g.drawImage(destinationBI,聽frameInsets.left,聽frameInsets.top,聽
this);
聽聽}

聽聽
publicstaticvoid聽main(String[]聽args)聽{
聽聽聽聽
new聽RotateImage45Degrees("fruits.png");
聽聽}

}



Pudgy's World 2005-09-22 07:23 鍙戣〃璇勮
]]>
Hello, everyone!!http://m.tkk7.com/Pudgy/articles/9622.htmlPudgy's WorldPudgy's WorldMon, 08 Aug 2005 17:12:00 GMThttp://m.tkk7.com/Pudgy/articles/9622.htmlhttp://m.tkk7.com/Pudgy/comments/9622.htmlhttp://m.tkk7.com/Pudgy/articles/9622.html#Feedback0http://m.tkk7.com/Pudgy/comments/commentRss/9622.htmlhttp://m.tkk7.com/Pudgy/services/trackbacks/9622.htmlThanks



Pudgy's World 2005-08-09 01:12 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 国产成人精品男人免费| 69成人免费视频| 国产偷窥女洗浴在线观看亚洲| 综合一区自拍亚洲综合图区| 免费a级毛片永久免费| 成人国产网站v片免费观看| 亚洲色欲久久久久综合网| eeuss免费影院| 国产国拍精品亚洲AV片| 成人妇女免费播放久久久| 国产aⅴ无码专区亚洲av| 97在线视频免费播放| 亚洲av永久综合在线观看尤物| 毛片在线看免费版| 国产尤物在线视精品在亚洲| mm1313亚洲精品国产| a级成人免费毛片完整版| 亚洲婷婷天堂在线综合| 免费无遮挡无码视频网站| 日韩在线视频播放免费视频完整版| 亚洲精品成人久久久| 免费黄色电影在线观看| 亚洲国产成人久久99精品| 永久免费bbbbbb视频| 成人免费视频一区二区| 亚洲爆乳精品无码一区二区三区| 99久热只有精品视频免费看| 亚洲av永久无码精品三区在线4| 又爽又高潮的BB视频免费看| 99精品全国免费观看视频..| 亚洲jjzzjjzz在线观看| 亚洲天堂在线视频| 57pao一国产成永久免费| 成a人片亚洲日本久久| 亚洲av永久无码精品国产精品| 24小时日本在线www免费的| v片免费在线观看| 亚洲熟妇无码爱v在线观看| 免费a级毛片在线观看| 免费人成在线观看网站品爱网| 亚洲精品无码永久在线观看男男|