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

首頁 > 學院 > 開發設計 > 正文

逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置選擇(9個位置==》[X])

2019-11-14 15:44:25
字體:
來源:轉載
供稿:網友
  好幾天沒上QQ了,今天上了個QQ,,額....額...貌似消息還挺多,沒及時回復的還請見諒~~剛好昨天無聊把水印這快封裝出來了,支持圖片水印,文字水印,索引圖水印和非索引圖水印,支持位置選擇(9個位置 ==》[X])。好吧不高興屁話了,軟件是WPF的(只滿足我的需求,如果有需要可以出第個二版本),水印核心代碼封裝了個Helper類(通用:支持Winform,WPF,Web,WP,Win10)軟件共享一下==>http://pan.baidu.com/s/1qWDwv4C 源碼看下面

水印類

    /// <summary>    /// 水印類(重要參數:原圖類型,水印類型,水印位置,圖片水印路徑,文字水印內容)    /// </summary>    public class WaterMark    {        #region 基礎屬性設置        PRivate string _photoType;        /// <summary>        /// 原圖類型        /// </summary>        public string PhotoType        {            get { return _photoType; }            set { _photoType = value; }        }        private WaterMarkTypeEnum _waterMarkType = WaterMarkTypeEnum.NoneMark;        /// <summary>        /// 水印類型        /// </summary>        public WaterMarkTypeEnum WaterMarkType        {            get { return _waterMarkType; }            set { _waterMarkType = value; }        }         #endregion        #region 水印效果設置        private WaterMarkLocationEnum _waterMarkLocation = WaterMarkLocationEnum.BottomRight;        /// <summary>        /// 水印位置        /// </summary>        public WaterMarkLocationEnum WaterMarkLocation        {            get { return _waterMarkLocation; }            set { _waterMarkLocation = value; }        }        private float _transparency = 0.7f;        /// <summary>        /// 水印透明度        /// </summary>        public float Transparency        {            get { return _transparency; }            set { _transparency = value; }        }         #endregion        #region 圖片水印設置        private string _imgPath;        /// <summary>        /// 圖片水印路徑        /// </summary>        public string ImgPath        {            get { return _imgPath; }            set { _imgPath = value; }        }         #endregion        #region 文字水印設置        private string _text = "dunitian";        /// <summary>        /// 文字水印內容        /// </summary>        public string Text        {            get { return _text; }            set { _text = value; }        }        private string _fontFamily = "微軟雅黑";        /// <summary>        /// 文字字體        /// </summary>        public string FontFamily        {            get { return _fontFamily; }            set { _fontFamily = value; }        }        private Brush _brushesColor = Brushes.Black;        /// <summary>        /// 文字顏色        /// </summary>        public Brush BrushesColor        {            get { return _brushesColor; }            set { _brushesColor = value; }        }        private  FontStyle _fontStyle = FontStyle.Regular;        /// <summary>        /// 字體樣式        /// </summary>        public FontStyle FontStyle        {            get { return _fontStyle; }            set { _fontStyle = value; }        }        private float _fontSize = 14f;        /// <summary>        /// 字體大小        /// </summary>        public float FontSize        {            get { return _fontSize; }            set { _fontSize = value; }        }         #endregion    }

 水印位置枚舉

    /// <summary>    /// 水印位子    /// </summary>    public enum WaterMarkLocationEnum    {        /// <summary>        /// 頂部居左        /// </summary>        TopLeft = 1,        /// <summary>        /// 頂部居中        /// </summary>        TopCenter = 2,        /// <summary>        /// 頂部居右        /// </summary>        TopRight = 3,        /// <summary>        /// 中部居左        /// </summary>        CenterLeft = 4,        /// <summary>        /// 中部居中        /// </summary>        CenterCenter = 5,        /// <summary>        /// 中部居右        /// </summary>        CenterRight = 6,        /// <summary>        /// 底部居左        /// </summary>        BottomLeft = 7,        /// <summary>        /// 底部居左        /// </summary>        BottomCenter = 8,        /// <summary>        /// 底部居左        /// </summary>        BottomRight = 9,    }

 水印類型枚舉

/// <summary>    /// 水印類型    /// </summary>    public enum WaterMarkTypeEnum    {        /// <summary>        /// 文字        /// </summary>        Text = 1,        /// <summary>        /// 圖片        /// </summary>        Image = 2,        /// <summary>        /// 無水印        /// </summary>        NoneMark = 3    }

 水印幫助類(自己封裝的,有bug可以像我反饋)

    /// <summary>    /// 水印幫助類    /// </summary>    public class WaterMarkHelper    {        #region 設置水印        /// <summary>        /// 設置水印        /// </summary>        /// <param name="imgPath"></param>        /// <param name="model"></param>        /// <returns></returns>        public static Image SetWaterMark(string imgPath, WaterMark model)        {            //獲取背景圖            Image imgSource = Image.FromFile(imgPath);            //獲取水印圖片            Image markImg = null;            //水印檢驗(文字,圖片[路徑下是否存在圖片])            #region 水印校驗+水印處理            if (model == null)            {                return null;            }            //看看原圖是否存在            if (!System.IO.File.Exists(imgPath))            {                return null;            }            //根據水印類型校驗+水印處理            switch (model.WaterMarkType)            {                case WaterMarkAPP.Enums.WaterMarkTypeEnum.Text:                    if (string.IsNullOrEmpty(model.Text))                    {                        return null;                    }                    else                    {                        markImg = TextToImager(model);//水印處理-如果是文字就轉換成圖片                    }                    break;                case WaterMarkAPP.Enums.WaterMarkTypeEnum.Image:                    if (!System.IO.File.Exists(model.ImgPath))                    {                        return null;                    }                    else                    {                        //獲得水印圖像                                   markImg = Image.FromFile(model.ImgPath);                    }                    break;                case WaterMarkAPP.Enums.WaterMarkTypeEnum.NoneMark:                    return imgSource;            }            #endregion            #region 創建顏色矩陣            //創建顏色矩陣            float[][] ptsArray ={                                  new float[] {1, 0, 0, 0, 0},                                 new float[] {0, 1, 0, 0, 0},                                 new float[] {0, 0, 1, 0, 0},                                 new float[] {0, 0, 0, model.Transparency, 0}, //注意:0.0f為完全透明,1.0f為完全不透明                                 new float[] {0, 0, 0, 0, 1}};            ColorMatrix colorMatrix = new ColorMatrix(ptsArray);            //新建一個Image屬性            ImageAttributes imageAttributes = new ImageAttributes();            //將顏色矩陣添加到屬性            imageAttributes.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Default);            #endregion            //原圖格式檢驗+水印            #region 原圖格式檢驗+水印            //判斷是否是索引圖像格式            if (imgSource.PixelFormat == PixelFormat.Format1bppIndexed || imgSource.PixelFormat == PixelFormat.Format4bppIndexed || imgSource.PixelFormat == PixelFormat.Format8bppIndexed)            {                #region 索引圖片,轉成位圖再加圖片                //轉成位圖,這步很重要                 Bitmap bitmap = new Bitmap(imgSource.Width, imgSource.Height);                Graphics graphic = Graphics.FromImage(bitmap);                #region 縮放處理                //如果原圖小于水印圖片 等比縮放水印圖                if (markImg.Width >= imgSource.Width || markImg.Height >= imgSource.Height)                {                    markImg = ImageShrink(imgSource, markImg);                }                #endregion                #region 水印位置                //水印位置                int x;                int y;                WaterMarkLocations(model, imgSource, markImg, out x, out y);                #endregion                //將原圖畫在位圖上                graphic.DrawImage(imgSource, new Point(0, 0));                //將水印加在位圖上                graphic.DrawImage(markImg, new Rectangle(x, y, markImg.Width, markImg.Height), 0, 0, markImg.Width, markImg.Height, GraphicsUnit.Pixel, imageAttributes);                graphic.Dispose();                return bitmap;                #endregion            }            else            {                #region 非索引圖片,直接在上面加上水印                Graphics graphic = Graphics.FromImage(imgSource);                #region 縮放處理                //如果原圖小于水印圖片 等比縮放水印圖                if (markImg.Width >= imgSource.Width || markImg.Height >= imgSource.Height)                {                    markImg = ImageShrink(imgSource, markImg);                }                #endregion                #region 水印位置                //水印位置                int x;                int y;                WaterMarkLocations(model, imgSource, markImg, out x, out y);                #endregion                //將水印加在原圖上                graphic.DrawImage(markImg, new Rectangle(x, y, markImg.Width, markImg.Height), 0, 0, markImg.Width, markImg.Height, GraphicsUnit.Pixel, imageAttributes);                graphic.Dispose();                return imgSource;                #endregion            }            #endregion        }         #endregion        #region 水印處理-文字轉圖片        /// <summary>        /// 水印處理-文字轉圖片        /// </summary>        /// <param name="model"></param>        /// <returns></returns>        private static Image TextToImager(WaterMark model)        {            Font f = new Font(model.FontFamily, model.FontSize, model.FontStyle);            Bitmap fbitmap = new Bitmap(Encoding.GetEncoding("GBK").GetByteCount(model.Text) / 2 * f.Height, f.Height);            Graphics gh = Graphics.FromImage(fbitmap);//創建一個畫板;            gh.SmoothingMode = SmoothingMode.AntiAlias;            gh.DrawString(model.Text, f, model.BrushesColor, 0, 0);//畫字符串            return fbitmap as Image;        }        #endregion        #region 水印位置        /// <summary>        /// 水印位置        /// </summary>        /// <param name="model"></param>        /// <param name="imgSource"></param>        /// <param name="markImg"></param>        /// <param name="x"></param>        /// <param name="y"></param>        private static void WaterMarkLocations(WaterMark model, Image imgSource, Image markImg, out int x, out int y)        {            x = 0;            y = 0;            switch (model.WaterMarkLocation)            {                case WaterMarkLocationEnum.TopLeft:                    x = 0;                    y = 0;                    break;                case WaterMarkLocationEnum.TopCenter:                    x = imgSource.Width / 2 - markImg.Width / 2;                    y = 0;                    break;                case WaterMarkLocationEnum.TopRight:                    x = imgSource.Width - markImg.Width;                    y = 0;                    break;                case WaterMarkLocationEnum.CenterLeft:                    x = 0;                    y = imgSource.Height / 2 - markImg.Height / 2;                    break;                case WaterMarkLocationEnum.CenterCenter:                    x = imgSource.Width / 2 - markImg.Width / 2;                    y = imgSource.Height / 2 - markImg.Height / 2;                    break;                case WaterMarkLocationEnum.CenterRight:                    x = imgSource.Width - markImg.Width;                    y = imgSource.Height / 2 - markImg.Height / 2;                    break;                case WaterMarkLocationEnum.BottomLeft:                    x = 0;                    y = imgSource.Height - markImg.Height;                    break;                case WaterMarkLocationEnum.BottomCenter:                    x = imgSource.Width / 2 - markImg.Width / 2;                    y = imgSource.Height - markImg.Height;                    break;                case WaterMarkLocationEnum.BottomRight:                    x = imgSource.Width - markImg.Width;                    y = imgSource.Height - markImg.Height;                    break;            }        }        #endregion        #region 縮放水印        /// <summary>        /// 等比縮放水印圖(縮小到原圖的1/3)        /// </summary>        /// <param name="imgSource"></param>        /// <param name="successImage"></param>        /// <returns></returns>        private static Image ImageShrink(Image imgSource, Image markImg)        {            int w = 0;            int h = 0;            Image.GetThumbnailImageAbort callb = null;            //對水印圖片生成縮略圖,縮小到原圖的1/3(以短的一邊為準)                                 if (imgSource.Width < imgSource.Height)            {                w = imgSource.Width / 3;                h = markImg.Height * w / markImg.Width;            }            else            {                h = imgSource.Height / 3;                w = markImg.Width * h / markImg.Height;            }            markImg = markImg.GetThumbnailImage(w, h, callb, new System.IntPtr());            return markImg;        }        #endregion    }

  簡單調用:

文字水印調用:

        /// <summary>        /// 文字水印調用        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void Button_Click(object sender, RoutedEventArgs e)        {            //給水印對象賦對應的值            WaterMark waterMark = new WaterMark();            waterMark.WaterMarkType = Enums.WaterMarkTypeEnum.Text;            waterMark.Transparency = 0.7f;            waterMark.Text = "dunitian.VEVb.com";            waterMark.FontStyle = System.Drawing.FontStyle.Bold;            waterMark.FontFamily = "Consolas";            waterMark.FontSize = 20f;            waterMark.BrushesColor = System.Drawing.Brushes.YellowGreen;            waterMark.WaterMarkLocation = Enums.WaterMarkLocationEnum.CenterCenter;            //調用            Image successImage = WaterMarkHelper.SetWaterMark("text.png", waterMark);            //保存            successImage.Save("text1.png", System.Drawing.Imaging.ImageFormat.Png);            MessageBox.Show("請查看軟件根目錄", "成功");        }

  圖片水印調用:

/// <summary>        /// 圖片水印調用        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void Button_Click_1(object sender, RoutedEventArgs e)        {            //給水印對象賦對應的值            WaterMark waterMark = new WaterMark();            waterMark.WaterMarkType = Enums.WaterMarkTypeEnum.Image;            waterMark.ImgPath = "水印.png";            waterMark.WaterMarkLocation = Enums.WaterMarkLocationEnum.CenterCenter;            waterMark.Transparency = 0.7f;            //調用            Image successImage = WaterMarkHelper.SetWaterMark("text.png", waterMark);            //保存            successImage.Save("text2.png", System.Drawing.Imaging.ImageFormat.Png);            MessageBox.Show("請查看軟件根目錄","成功");        }

  軟件源碼:(helper類不是最新,用上文的helper類)

 (調用部分我做了一個通用apidemo)==>http://pan.baidu.com/s/1gd1300z

 

namespace WaterMarkAPP{    /// <summary>    /// MainWindow.xaml 的交互邏輯    /// </summary>    public partial class MainWindow : Window    {        public MainWindow()        {            InitializeComponent();        }        #region 按鈕事件        /// <summary>        /// 單文水印        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void BtnFont_Click(object sender, RoutedEventArgs e)        {            WaterMark waterMark = WaterMarkFont();            DIVWaterMark(waterMark);        }        /// <summary>        /// 批文水印        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void BtnFonts_Click(object sender, RoutedEventArgs e)        {            WaterMark waterMark = WaterMarkFont();            DIVWaterMarks(waterMark);        }        /// <summary>        /// 單圖水印        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void BtnImage_Click(object sender, RoutedEventArgs e)        {            WaterMark waterMark = WaterMarkImage();            DIVWaterMark(waterMark);        }        /// <summary>        /// 批圖水印        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void BtnImages_Click(object sender, RoutedEventArgs e)        {            WaterMark waterMark = WaterMarkImage();            DIVWaterMarks(waterMark);        }         #endregion        #region 關閉程序        /// <summary>        /// 關閉程序        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void Button_Click(object sender, RoutedEventArgs e)        {            Environment.Exit(0);        }        #endregion        #region 窗體拖動        /// <summary>        /// 窗體拖動        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void DragWindow(object sender, MouseButtonEventArgs e)        {            if (e.LeftButton == MouseButtonState.Pressed)            {                DragMove();            }        }        #endregion        #region 版權系列        private void TextBlock_MouseLeave(object sender, MouseEventArgs e)        {            Process.Start("http://dunitian.VEVb.com/");        }        private void TextBlock_MouseLeave_1(object sender, MouseEventArgs e)        {            Process.Start("http://tieba.baidu.com/f?kw=毒逆天");        }        private void TextBlock_MouseLeave_2(object sender, MouseEventArgs e)        {            Process.Start("http://1054186320.qzone.qq.com/");        }        #endregion        #region 軟件代碼(水印核心代碼請看Helper類,最簡潔的調用請看APIDemo文件夾里面的內容)        #region 水印預設        /// <summary>        /// 水印文字預設        /// </summary>        /// <returns></returns>        private static WaterMark WaterMarkFont()        {            WaterMark waterMark = new WaterMark();            waterMark.WaterMarkType = Enums.WaterMarkTypeEnum.Text;            waterMark.Transparency = 0.7f;            waterMark.Text = "dunitian.VEVb.com";            waterMark.FontStyle = System.Drawing.FontStyle.Bold;            waterMark.FontFamily = "Consolas";            waterMark.FontSize = 20f;            waterMark.BrushesColor = System.Drawing.Brushes.YellowGreen;            waterMark.WaterMarkLocation = Enums.WaterMarkLocationEnum.CenterCenter;            return waterMark;        }        /// <summary>        /// 圖片水印預設        /// </summary>        /// <returns></returns>        private static WaterMark WaterMarkImage()        {            WaterMark waterMark = new WaterMark();            waterMark.WaterMarkType = Enums.WaterMarkTypeEnum.Image;            waterMark.ImgPath = "水印.png";            waterMark.WaterMarkLocation = Enums.WaterMarkLocationEnum.BottomRight;            waterMark.Transparency = 0.7f;            return waterMark;        }        #endregion        #region 水印操作        /// <summary>        /// 單個水印操作        /// </summary>        /// <param name="waterMark"></param>        private static void DIVWaterMark(WaterMark waterMark)        {            #region 必須參數獲取            OpenFileDialog dialog = new OpenFileDialog            {                Filter = "png(*.png)|*.png|jpg(*.jpg)|*.jpg|bmp(*.bmp)|*.bmp|gif(*.gif)|*.gif|jpeg(*.jpeg)|*.jpeg",                Title = "打開一張圖片"            };            if (dialog.ShowDialog() != true)            {                return;            }            //圖片路徑            string filePath = dialog.FileName;            //文件名            string fileName = System.IO.Path.GetFileNameWithoutExtension(filePath);            //圖片所處目錄            string dirPath = System.IO.Path.GetDirectoryName(filePath);            //存放目錄            string savePath = dirPath + "http://DNTWaterMark";            //是否存在,不存在就創建            if (!Directory.Exists(savePath))            {                Directory.CreateDirectory(savePath);            }            #endregion            #region 水印操作            Image successImage = WaterMarkHelper.SetWaterMark(filePath, waterMark);            if (successImage != null)            {                //保存圖片(不管打不打開都保存)                successImage.Save(savePath + "http://" + fileName + ".png", System.Drawing.Imaging.ImageFormat.Png);                //是否打開目錄                MessageBoxResult result = MessageBox.Show("水印成功!是否打開目錄?", "逆天友情提醒", MessageBoxButton.YesNo);                if (result == MessageBoxResult.Yes)                {                    System.Diagnostics.Process.Start("explorer.exe ", savePath);//打開保存后的路徑                }            }            else            {                MessageBox.Show("水印失??!請檢查原圖和水印圖!", "逆天友情提醒");            }            #endregion        }        /// <summary>        /// 批量水印操作        /// </summary>        /// <param name="waterMark"></param>        private void DIVWaterMarks(WaterMark waterMark)        {            System.Windows.Forms.FolderBrowserDialog dialog = new System.Windows.Forms.FolderBrowserDialog            {                Description = "選擇你要批量水印的圖片目錄"            };            if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)            {                string[] files = Directory.GetFiles(dialog.SelectedPath);                if (files.Length <= 0)                {                    return;                }                #region 存儲專用                //圖片所處目錄                string dirPath = System.IO.Path.GetDirectoryName(files[0]);                //存放目錄                string savePath = dirPath + "http://DNTWaterMark";                //是否存在,不存在就創建                if (!Directory.Exists(savePath))                {                    Directory.CreateDirectory(savePath);                }                #endregion                int num = 0;//計數用                foreach (string filePath in files)                {                    //文件名                    string fileName = System.IO.Path.GetFileNameWithoutExtension(filePath);                    Image successImage = WaterMarkHelper.SetWaterMark(filePath, waterMark);                    if (successImage != null)                    {                        //保存圖片                        successImage.Save(savePath + "http://" + fileName + ".png", System.Drawing.Imaging.ImageFormat.Png);                        num++;                    }                }                //是否打開目錄                MessageBoxResult result = MessageBox.Show("逆天友情提醒:已轉換 " + num + " 張圖片~是否打開目錄?", "轉換狀態", MessageBoxButton.YesNo);                if (result == MessageBoxResult.Yes)                {                    System.Diagnostics.Process.Start("explorer.exe ", savePath);//打開保存后的路徑                }            }        }        #endregion        #endregion    }}

  

<Window x:Class="WaterMarkAPP.MainWindow"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        Title="水印工具" Height="545" Width="298" Background="Transparent" AllowsTransparency="True"         WindowStyle="None" WindowStartupLocation="CenterScreen" MouseLeftButtonDown="DragWindow" Icon="1.ico">    <!--快樂玩耍:DIV一個手機-->    <!--手機整體-->    <Border BorderBrush="Green"             Background="Black"            BorderThickness="4"            CornerRadius="10,10,10,10">        <Grid>            <!--主屏幕-->            <Border BorderBrush="Gray"                 BorderThickness="2"                Margin="10,50,10,40">                <Grid Background="#FF151515">                    <Grid.RowDefinitions>                        <RowDefinition></RowDefinition>                        <RowDefinition></RowDefinition>                        <RowDefinition></RowDefinition>                        <RowDefinition></RowDefinition>                        <RowDefinition></RowDefinition>                        <RowDefinition></RowDefinition>                        <RowDefinition></RowDefinition>                    </Grid.RowDefinitions>                    <TextBlock FontFamily="微軟雅黑">對不起,系統已掛請聯系逆天重裝Win10!</TextBlock>                    <Button Grid.Row="1" Opacity="0.6"  HorizontalAlignment="Center" VerticalAlignment="Center" Height="50" Width="100" Click="BtnFont_Click">單文水印</Button>                    <Button Grid.Row="2" Opacity="0.6"  HorizontalAlignment="Center" VerticalAlignment="Center" Height="50" Width="100" Click="BtnImage_Click">單圖水印</Button>                    <Button Grid.Row="3" Opacity="0.6"  HorizontalAlignment="Center" VerticalAlignment="Center" Height="50" Width="100" Click="BtnFonts_Click">批文水印</Button>                    <Button Grid.Row="4" Opacity="0.6"  HorizontalAlignment="Center" VerticalAlignment="Center" Height="50" Width="100" Click="BtnImages_Click">批圖水印</Button>                    <Button Grid.Row="5" Opacity="0.6"  HorizontalAlignment="Center" VerticalAlignment="Center" Height="50" Width="100" Click="Button_Click">關閉程序</Button>                </Grid>            </Border>            <!--底部-->            <Border BorderBrush="Black"                 BorderThickness="2"                CornerRadius="0,0,10,10"                VerticalAlignment="Bottom"                Height="40">                <!--底部按鍵-->                <Grid>                    <TextBlock Text="毒" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="80,0,0,0" Width="20" Foreground="Gray" MouseLeave="TextBlock_MouseLeave" />                    <TextBlock Text="逆" HorizontalAlignment="Center" VerticalAlignment="Center" Width="20" Foreground="Gray"  MouseLeave="TextBlock_MouseLeave_1"/>                    <TextBlock Text="天" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,80,0" Width="20" Foreground="Gray"  MouseLeave="TextBlock_MouseLeave_2"/>                </Grid>            </Border>        </Grid>    </Border></Window>

 效果:

 源碼下載:http://pan.baidu.com/s/1gd1300z


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧美一区二区三区| 26uuu亚洲伊人春色| 最新国产成人av网站网址麻豆| 国产精品久久久久久久久久三级| 51色欧美片视频在线观看| 国产成人一区二区| 亚洲精品美女在线观看播放| 欧美日韩在线视频观看| 在线精品视频视频中文字幕| 国产日韩欧美在线播放| 亚洲女人天堂色在线7777| 国产精品欧美一区二区| 久久视频在线看| 欧美日韩福利在线观看| 国产精品网站入口| 精品无码久久久久久国产| 亚洲区中文字幕| 亚洲精品成a人在线观看| 欧美高跟鞋交xxxxhd| 亚洲一区二区三区四区视频| 欧美尺度大的性做爰视频| 久久免费视频这里只有精品| 欧美成人免费一级人片100| 最新69国产成人精品视频免费| 伊人男人综合视频网| 在线亚洲欧美视频| 国产精品网红福利| 91久久中文字幕| 亚洲伊人第一页| 国产精品直播网红| 久久综合久久88| 国产精品九九九| 日韩精品免费在线视频| 亚洲欧美另类在线观看| 欧美性色视频在线| 中文精品99久久国产香蕉| 成人激情视频小说免费下载| 日韩成人av网| 久久99精品久久久久久噜噜| 欧美视频一区二区三区…| 国产亚洲xxx| 欧美精品情趣视频| 欧美电影在线观看完整版| 亚洲成色999久久网站| 国产精品wwwwww| 国产mv久久久| 韩国福利视频一区| 国产一区二区三区视频在线观看| 日韩精品亚洲精品| 亚洲第一免费播放区| 欧美在线视频免费观看| 国产在线观看不卡| 欧美午夜性色大片在线观看| 国产成人综合av| 精品日韩中文字幕| 成人美女免费网站视频| 亚洲欧美日韩在线高清直播| 成人黄色免费网站在线观看| 欧美性xxxxhd| 欧美性xxxxhd| 日韩免费高清在线观看| 97在线视频国产| 青青草99啪国产免费| 成人免费福利在线| 亚洲人成在线观| 国产精品扒开腿爽爽爽视频| 亚洲人线精品午夜| 97热在线精品视频在线观看| 136fldh精品导航福利| 欧美一级大片视频| 亚洲男人的天堂在线播放| 一区二区欧美日韩视频| 欧美日韩在线观看视频| 色爱av美腿丝袜综合粉嫩av| 97在线视频免费播放| 国产91亚洲精品| 欧美wwwwww| 亚洲欧洲免费视频| 97高清免费视频| 国产成人jvid在线播放| 国产精品成人aaaaa网站| 国产精品手机播放| www.日韩视频| 国产精品免费视频久久久| 欧美日韩综合视频| 欧美洲成人男女午夜视频| 亚洲毛片在线免费观看| 国外成人在线视频| 国产欧美久久久久久| 国产精品日韩精品| 亚洲a级在线播放观看| 国产成人高清激情视频在线观看| 91久久精品国产91久久| 精品日本高清在线播放| 精品久久久久久久久中文字幕| 久久久综合免费视频| 国产97在线|亚洲| 日韩中文综合网| 中文字幕不卡av| 亚洲国产成人久久综合一区| 亚洲最大在线视频| 97在线精品国自产拍中文| 欧美精品做受xxx性少妇| 精品国产成人在线| 日韩国产欧美区| 7777精品久久久久久| 亚洲国产精品人人爽夜夜爽| www.精品av.com| 欧美日韩国产二区| 中文字幕亚洲一区二区三区五十路| 国产精品尤物福利片在线观看| 国产精品ⅴa在线观看h| 亚洲欧美一区二区三区久久| 亚洲精品国精品久久99热一| 国产精品草莓在线免费观看| 91精品国产自产在线观看永久| 日韩在线视频一区| 亚洲国产成人久久综合一区| 热久久免费国产视频| 日韩国产精品视频| 久久亚洲春色中文字幕| 国产精品极品美女在线观看免费| 国产精品一区二区三区免费视频| 成人黄色片网站| 国产成人精品免高潮在线观看| 午夜精品一区二区三区在线播放| 在线观看免费高清视频97| 欧美成人精品一区二区三区| 国产一区二区三区在线看| 日本免费一区二区三区视频观看| 日韩a**站在线观看| 精品久久久久久国产| 亚洲欧洲国产伦综合| 最近中文字幕mv在线一区二区三区四区| 国产精品第一页在线| 国产精品男人的天堂| 日韩三级成人av网| 欧美电影免费观看电视剧大全| 国产精品高清免费在线观看| 欧美自拍大量在线观看| 91在线视频导航| 久久夜色精品亚洲噜噜国产mv| 韩国国内大量揄拍精品视频| 亚洲高清色综合| 亚洲尤物视频网| 国产亚洲欧美视频| 国产精品亚发布| 欧美亚洲国产日韩2020| 欧美xxxx14xxxxx性爽| 欧美电影免费观看高清完整| 中文字幕日本精品| 91精品国产综合久久久久久久久| 欧美大尺度激情区在线播放| 欧洲亚洲在线视频| 日韩精品在线视频观看| 国产精品亚洲综合天堂夜夜| 精品国产91久久久久久老师| 国产裸体写真av一区二区| 欧美日韩国产色| 欧美在线一区二区视频| 日韩精品福利在线| 亚洲天堂久久av| 久久精品精品电影网| 社区色欧美激情 |