亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ch13.htm

?? JAVA Developing Professional JavaApplets
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
classes for using filters: FilteredImageSource and ImageFilter.<H3><A NAME="FilteredImageSource">FilteredImageSource</A></H3><P>The FilteredImageSource class implements the ImageProducer interface,which allows the class to masquerade as a real producer. Whena consumer attaches to the FilteredImageSource, it's stored inan instance of the current filter. The filter class object isthen given to the actual ImageProducer. When the image is renderedthrough the filter's interface, the data is altered before beingforwarded to the actual ImageConsumer. Figure 13.3 illustratesthe filtering operation.<P><A HREF="f13-3.gif" ><B>Figure 13.3 : </B><I>Image filtering classes.</I></A><P>The following is the constructor for FilteredImageSource:<BLOCKQUOTE><TT>FilteredImageSource(ImageProducer orig,ImageFilter imgf);</TT></BLOCKQUOTE><P>The producer and filter are stored until a consumer attaches itselfto the FilterImageSource. The following lines set up the filterchain:<BLOCKQUOTE><TT>// Create the filter<BR>ImageFilter filter = new SomeFilter();<BR>// Use the filter to get a producer<BR>ImageProducer p = new FilteredImageSource(myImage.getSource(),filter);<BR>// Use the producer to create the image<BR>Image img = createImage(p);</TT></BLOCKQUOTE><H3><A NAME="WritingaFilter">Writing a Filter</A></H3><P>Filters always extend the ImageFilter class, which implementsall the methods for an ImageConsumer. In fact, the ImageFilterclass is itself a pass-through filter. It passes the data withoutalteration but otherwise acts as a normal image filter. The FilteredImageSourceclass works only with ImageFilter and its subclasses. Using ImageFilteras a base frees you from having to implement a method you haveno use for, such as <TT>setProperties()</TT>.ImageFilter also implements one additional method:<UL><LI><TT>public void resendTopDownLeftRight(ImageProducerip);</TT></UL><P>When a FilteredImageSource gets a request to resend through itsImageProducer interface, it will call the ImageFilter insteadof the actual producer. ImageFilter's default resend functionwill call the producer and request a repaint. There are timeswhen the filter does not want to have the image regenerated, soit can override this call and simply do nothing. One example ofthis type of filter is described in the section &quot;DynamicImage Filter: FXFilter.&quot; A special-effects filter may simplyremove or obscure certain parts of an underlying image. To performthe effect, the filter merely needs to know the image dimensions,not the specific pixels it will be overwriting. <TT>SetPixel()</TT>calls are safely ignored, but the producer must be prevented fromrepainting. If your filter does not implement <TT>setPixels()</TT>calls, a subsequent resend request will destroy the filter's changesby writing directly to the consumer.<BR><P><CENTER><TABLE BORDERCOLOR=#000000 BORDER=1 WIDTH=80%><TR VALIGN=TOP><TD><B>Note</B></TD></TR><TR VALIGN=TOP><TD><BLOCKQUOTE>If <TT>setPixels()</TT> is not overridden in your filter, you will probably want to override <TT>resendTopDownLeftRight()</TT>to prevent the image from being regenerated after your filter has altered the image.</BLOCKQUOTE></TD></TR></TABLE></CENTER><H3><A NAME="StaticImageFilterRotation">Static Image Filter: Rotation</A></H3><P>The SimpleRoll applet works by loading four distinct images; rememberthat an external paint application was used to rotate each image.Unfortunately, the paint program cannot maintain the transparencyof the original image. You can see this if you change the backgroundcolor of the applet. The bounding rectangle of the image showsup in gray. Instead of loading the four images, a Java rotationfilter can be substituted to allow any image to be rolled. Notonly would this minimize the download time, but it would alsomaintain the image's transparency information. A transparent foregroundimage also allows a background image to be added.<H4>Pixel Rotation</H4><P>To perform image rotation, you need to use some math. You canperform the rotation of points with the following formulas:<BLOCKQUOTE><TT>new_x = x * cos(angle) - y * sin(angle)<BR>new_y = y * cos(angle) + x * sin(angle)</TT></BLOCKQUOTE><P>Rotation is around the z-axis. Positive angles cause counterclockwiserotation, and negative angles cause clockwise rotation. Theseformulas are defined for Cartesian coordinates. The Java screenis actually inverted, so the positive y-axis runs down the screen,not up. To compensate for this, invert the sign of the sine coefficients:<BLOCKQUOTE><TT>new_x = x * cos(angle) + y * sin(angle)<BR>new_y = y * cos(angle) - x * sin(angle)</TT></BLOCKQUOTE><P>In addition, the sine and cosine functions compute the angle inradians. The following formula converts degrees to radians:<BLOCKQUOTE><TT>radians = degrees * PI/180;</TT></BLOCKQUOTE><P>This works because there are <TT>2*PI</TT>radians in a circle. That's all the math you'll need; now youcan set up the ImageConsumer routines.<H4>Handling <TT>setDimensions()</TT></H4><P>The <TT>setDimensions()</TT> calltells you the total size of the image. Record the size and allocatean array to hold all the pixels. Because this filter will rotatethe image, the size may change. In an extreme case, the size couldgrow much larger than the original image because images are rectangular.If you rotate a rectangle 45 degrees, a new rectangle must becomputed that contains all the pixels from the rotated image,as shown in Figure 13.4.<P><A HREF="f13-4.gif" ><B>Figure 13.4 : </B><I>New bounding rectangle after rotation.</I></A><P>To calculate the new bounding rectangle, each vertex of the originalimage must be rotated. After rotation, the new coordinate is checkedfor minimum and maximum x and y values. When all four points arerotated, then you'll know what the new bounding rectangle is.Record this information as rotation space, and inform the consumerof the size after rotation.<H4>Handling <TT>setPixels()</TT></H4><P>The <TT>setPixels()</TT> calls arevery straightforward. Simply translate the pixel color into anRGB value and store it in the original image array allocated in<TT>setDimensions()</TT>.<H4>Handling <TT>imageComplete()</TT></H4><P>The <TT>imageComplete()</TT> methodperforms all the work. After the image is final, populate a newrotation space array and return it to the consumer through theconsumer's <TT>setPixels()</TT> routine.Finally, invoke the consumer's <TT>imageComplete()</TT>method. Listing 13.2 contains the entire filter.<HR><BLOCKQUOTE><B>Listing 13.2. The SpinFilter class.<BR></B></BLOCKQUOTE><BLOCKQUOTE><TT>import java.awt.*;<BR>import java.awt.image.*;<BR><BR>public class SpinFilter extends ImageFilter<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;private double angle;<BR>&nbsp;&nbsp;&nbsp;&nbsp;private double cos, sin;<BR>&nbsp;&nbsp;&nbsp;&nbsp;private Rectangle rotatedSpace;<BR>&nbsp;&nbsp;&nbsp;&nbsp;private Rectangle originalSpace;<BR>&nbsp;&nbsp;&nbsp;&nbsp;private ColorModel defaultRGBModel;<BR>&nbsp;&nbsp;&nbsp;&nbsp;private int inPixels[], outPixels[];<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;SpinFilter(double angle)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.angle = angle* (Math.PI / 180);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cos = Math.cos(this.angle);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sin = Math.sin(this.angle);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;defaultRGBModel= ColorModel.getRGBdefault();<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;private void transform(int x, int y, doubleout[])<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out[0] = (x *cos) + (y * sin);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out[1] = (y *cos) - (x * sin);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;private void transformBack(int x, inty, double out[])<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out[0] = (x *cos) - (y * sin);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out[1] = (y *cos) + (x * sin);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;public void transformSpace(Rectangle rect)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;double out[] =new double[2];<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;double minx =Double.MAX_VALUE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;double miny =Double.MAX_VALUE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;double maxx =Double.MIN_VALUE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;double maxy =Double.MIN_VALUE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int w = rect.width;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int h = rect.height;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int x = rect.x;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int y = rect.y;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for ( int i =0; i &lt; 4; i++ )<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(i)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case0: transform(x + 0, y + 0, out); break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case1: transform(x + w, y + 0, out); break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case2: transform(x + 0, y + h, out); break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case3: transform(x + w, y + h, out); break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;minx= Math.min(minx, out[0]);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;miny= Math.min(miny, out[1]);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxx= Math.max(maxx, out[0]);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxy= Math.max(maxy, out[1]);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rect.x = (int)Math.floor(minx);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rect.y = (int)Math.floor(miny);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rect.width = (int)Math.ceil(maxx) - rect.x;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rect.height =(int) Math.ceil(maxy) - rect.y;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;/**<BR>&nbsp;&nbsp;&nbsp;&nbsp; * Tell the consumer the new dimensionsbased on our<BR>&nbsp;&nbsp;&nbsp;&nbsp; * rotation of coordinate space.<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @see ImageConsumer#setDimensions<BR>&nbsp;&nbsp;&nbsp;&nbsp; */<BR>&nbsp;&nbsp;&nbsp;&nbsp;public void setDimensions(int width, intheight)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;originalSpace= new Rectangle(0, 0, width, height);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rotatedSpace =new Rectangle(0, 0, width, height);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transformSpace(rotatedSpace);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inPixels = newint[originalSpace.width * originalSpace.height];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;consumer.setDimensions(rotatedSpace.width,rotatedSpace.height);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;/**<BR>&nbsp;&nbsp;&nbsp;&nbsp; * Tell the consumer that we use the defaultRGBModelcolor model<BR>&nbsp;&nbsp;&nbsp;&nbsp; * NOTE: This overrides whatever colormodel is used underneath us.<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param model contains the color modelof the image or filter<BR>&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;beneathus (preceding us)<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @see ImageConsumer#setColorModel<BR>&nbsp;&nbsp;&nbsp;&nbsp; */<BR>&nbsp;&nbsp;&nbsp;&nbsp;public void setColorModel(ColorModel model)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;consumer.setColorModel(defaultRGBModel);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;/**<BR>&nbsp;&nbsp;&nbsp;&nbsp; * Set the pixels in our image array fromthe passed<BR>&nbsp;&nbsp;&nbsp;&nbsp; * array of bytes.&nbsp;&nbsp;Xlate thepixels into our default<BR>&nbsp;&nbsp;&nbsp;&nbsp; * color model (RGB).<BR>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产制服丝袜一区| 精品日韩99亚洲| 91啦中文在线观看| 成人免费视频一区二区| 成人av网站在线观看| 春色校园综合激情亚洲| 风间由美一区二区av101| 丁香六月综合激情| 国产不卡视频一区二区三区| 国产成人综合精品三级| 成人午夜又粗又硬又大| 成人免费高清视频在线观看| youjizz久久| 在线国产亚洲欧美| 欧美群妇大交群中文字幕| 91精品国产色综合久久 | 国产色综合久久| 欧美激情一区二区三区全黄| 国产精品萝li| 一区二区三区国产精华| 亚洲香肠在线观看| 喷水一区二区三区| 国产一区激情在线| 成人一级片网址| 在线观看免费成人| 中文字幕va一区二区三区| 国产精品美女一区二区| 亚洲精品videosex极品| 午夜精品123| 精品一区二区免费| 国产成人免费在线观看不卡| 91亚洲国产成人精品一区二三| 91久久久免费一区二区| 91精品国产手机| 日本一区二区三区国色天香 | 夜夜揉揉日日人人青青一国产精品 | 欧美精品乱码久久久久久| 欧美精品一区二区久久久| 国产精品国产三级国产普通话三级 | av网站免费线看精品| 精品1区2区3区| 久久久无码精品亚洲日韩按摩| 亚洲欧洲在线观看av| 婷婷国产v国产偷v亚洲高清| 国产精品一区二区三区乱码| 色婷婷精品大在线视频 | 亚洲国产色一区| 激情五月激情综合网| 色94色欧美sute亚洲线路一久 | 日本在线不卡一区| 国产91精品露脸国语对白| 精品视频在线免费看| 国产午夜精品一区二区三区视频 | 国产成人一区在线| 欧美日韩久久不卡| 国产精品久久久久久久久搜平片| 日日欢夜夜爽一区| 99久久精品免费看国产免费软件| 91精品国产色综合久久| 亚洲免费观看高清完整版在线观看熊 | 日韩一区中文字幕| 久久99久久99| 欧美在线高清视频| 国产精品乱码久久久久久| 日韩电影在线一区二区三区| 99久久精品国产导航| 久久综合资源网| 午夜欧美在线一二页| 欧美精品日韩精品| 日韩一区在线免费观看| 国产一区二区在线观看免费| 欧美人伦禁忌dvd放荡欲情| 欧美国产综合一区二区| 激情综合色丁香一区二区| 欧美日韩视频在线第一区 | 亚洲欧美国产毛片在线| 国产精品一区二区久激情瑜伽| 欧美军同video69gay| 亚洲欧美色一区| 国产iv一区二区三区| 日韩一区二区免费在线观看| 亚洲黄色小视频| 97国产一区二区| 国产丝袜在线精品| 久久狠狠亚洲综合| 777久久久精品| 性做久久久久久久久| 色婷婷综合久久久久中文一区二区 | 在线亚洲高清视频| 亚洲日本护士毛茸茸| 懂色一区二区三区免费观看| 久久久久久久久久久久久女国产乱 | 亚洲欧美日韩久久| 成年人午夜久久久| 日本一区二区三区久久久久久久久不| 蜜桃久久av一区| 日韩视频免费观看高清在线视频| 日韩精品国产欧美| 4438亚洲最大| 蜜臀va亚洲va欧美va天堂 | 中文字幕亚洲视频| av一区二区不卡| 国产精品久久久久7777按摩| 成人性生交大片免费| 国产精品女同一区二区三区| 成人综合激情网| 中文字幕一区二区三区av| www.99精品| 一区二区三区 在线观看视频| 91成人免费电影| 亚洲mv在线观看| 91精品国产综合久久久久久漫画 | 国产精品视频九色porn| 成人午夜视频在线观看| 亚洲天堂精品在线观看| 日本韩国欧美一区| 午夜a成v人精品| 欧美成人女星排名| 国产精品乡下勾搭老头1| 中文字幕第一区二区| 色综合天天天天做夜夜夜夜做| 亚洲精品日韩综合观看成人91| 91久久人澡人人添人人爽欧美 | 福利电影一区二区三区| 国产精品麻豆久久久| 色视频欧美一区二区三区| 一卡二卡三卡日韩欧美| 制服丝袜激情欧洲亚洲| 国产真实乱子伦精品视频| 欧美国产日韩一二三区| 色欲综合视频天天天| 日韩av一级电影| 国产欧美一区二区精品仙草咪| 99热这里都是精品| 日日夜夜免费精品| 国产区在线观看成人精品 | 亚洲美女视频一区| 7777女厕盗摄久久久| 国产在线麻豆精品观看| 中文字幕日本不卡| 欧美精品久久久久久久久老牛影院| 国产原创一区二区| 亚洲男人的天堂在线观看| 日韩三级电影网址| av毛片久久久久**hd| 日本午夜精品视频在线观看| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 91在线国内视频| 捆绑紧缚一区二区三区视频| 中文字幕一区在线| 欧美一区二区三级| 波多野结衣欧美| 免费看精品久久片| 国产精品久久久久久久久晋中 | 国内精品视频一区二区三区八戒| 国产精品灌醉下药二区| 91麻豆精品国产自产在线观看一区| 国产91精品一区二区麻豆亚洲| 亚洲一区二区欧美激情| 久久久综合网站| 欧美日韩激情一区| 国产ts人妖一区二区| 视频一区二区中文字幕| 亚洲欧美一区二区在线观看| 日韩美女一区二区三区四区| 色婷婷狠狠综合| 国产精品一区在线观看乱码| 亚洲第一搞黄网站| 中文字幕日韩欧美一区二区三区| 日韩免费在线观看| 欧美偷拍一区二区| jizzjizzjizz欧美| 国产中文一区二区三区| 午夜伦欧美伦电影理论片| 亚洲三级在线免费| 国产日韩欧美a| 精品国产髙清在线看国产毛片| 91丨porny丨在线| 国产福利一区二区三区| 久久国产尿小便嘘嘘尿| 五月天激情小说综合| 一区二区成人在线观看| 中文字幕亚洲一区二区av在线| 久久天天做天天爱综合色| 91精品免费观看| 欧美色图免费看| 91蜜桃婷婷狠狠久久综合9色| 国产精品一线二线三线| 久久国产麻豆精品| 图片区小说区国产精品视频| 亚洲一区在线播放| 一区二区三区四区在线免费观看| 国产精品无人区| 日本一区二区三区高清不卡| 久久婷婷国产综合精品青草| 精品国产乱码久久久久久老虎| 制服丝袜成人动漫| 欧美喷水一区二区| 欧美欧美欧美欧美首页| 67194成人在线观看|