精华内容
下载资源
问答
  • 开发板插上USB摄像头后,拍照时有预览图片并可以进行拍照以及保存图片,但是录像时却没有预览图片,也不能进行录像。是不是HAL层开发的代码没有实现相应的功能啊?
    开发板插上USB摄像头后,拍照时有预览图片并可以进行拍照以及保存图片,但是录像时却没有预览图片,也不能进行录像。是不是HAL层开发的代码没有实现相应的功能啊? 
    展开全文
  • 拍得的图片条纹比预览图清晰很多,预览分辨率和图片分辨率以及其他参数我都设一样的。一开始以为是预览没有对焦好的原因,判断成功对焦后再存储预览帧也没有得到拍照的效果。想不清这是什么因素造成的,有...
  • 我的dwcc装好了之后然后登录了,但是这个手机预览功能没用,点开就是这样!![图片说明](https://img-ask.csdn.net/upload/201703/16/1489646246_469554.png)
  • 在camera的onpreviewframe回调中想通过opencv报错图片,按照以下代码,为什么保存的图片是灰色的呢? ``` Mat mat = new Mat(previewSize.height , previewSize.width, CvType.CV_8UC1);//初始化一个矩阵,没数据...
  • 更改过一次图片,在开发者工具中预览图片与小图都是更换后图片,真机上小图是更改后图片预览图片是更改前图片为什么呢?没有放在缓存里,且原来图片已经从服务器上彻底删除了
  • 图片预览

    2017-11-01 10:46:54
    GTK+是将GTK,GDK,GLIB集成在一起的开发包,可以工作在许多类似于UNIX的系统上,没有GTK的平台限制。 1.GTK的消息处理机制 下面我们先看一个基本的例子,该例子产生一个200×200像素的窗口。它不能自己退出,只能...
  • 这篇文章主要大家详细介绍了基于jquery实现图片上传前本地预览功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下本文实例大家分享了jquery实现图片上传前预览的具体代码,供...

    这篇文章主要为大家详细介绍了基于jquery实现图片上传前本地预览功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    本文实例为大家分享了jquery实现图片上传前预览的具体代码,供大家参考,具体内容如下

    介绍之前有一个小问题,一直找不到图片预览时,图片不出来的原因,原来在于图片的路径!!!一直写的是图片的本地路径,没有什么用。直接上代码。

    html部分:

    input:file事件是上传类型

    较常用的属性值如下:

    accept:表示可以选择的文件MIME类型,多个MIME类型用英文逗号分开,常用的MIME类型见下表。

    若要支持所有图片格式,则写 * 即可。

    multiple:是否可以选择多个文件,多个文件时其value值为第一个文件的虚拟路径

    input:file的样式是不变的,所以若要改变它的样式,首先将它隐藏。display:none;

    CSS部分:因为做的是一个圆形的头像,所以对图片样式先进行定义。

    #pic{

    width:100px;

    height:100px;

    border-radius:50% ;

    margin:20px auto;

    cursor: pointer;

    }

    jQuery部分:

    $(function() {

    $("#pic").click(function () {

    $("#upload").click(); //隐藏了input:file样式后,点击头像就可以本地上传

    $("#upload").on("change",function(){

    var objUrl = getObjectURL(this.files[0]) ; //获取图片的路径,该路径不是图片在本地的路径

    if (objUrl) {

    $("#pic").attr("src", objUrl) ; //将图片路径存入src中,显示出图片

    }

    });

    });

    });

    //建立一個可存取到該file的url

    function getObjectURL(file) {

    var url = null ;

    if (window.createObjectURL!=undefined) { // basic

    url = window.createObjectURL(file) ;

    } else if (window.URL!=undefined) { // mozilla(firefox)

    url = window.URL.createObjectURL(file) ;

    } else if (window.webkitURL!=undefined) { // webkit or chrome

    url = window.webkitURL.createObjectURL(file) ;

    }

    return url ;

    }

    运行结果如下:

    319d929f0811e688c1433d5096f14730.png

    以上就是本文的全部内容,希望对大家学习jquery程序有所帮助。

    展开全文
  • ![图片说明](https://img-ask.csdn.net/upload/201601/04/1451872550_908721.png) 我自定义的圆角ImageView,在xml中呈现的圆角效果,但是运行在手机上却是没有一点变化的方角控件
  • 那么为什么我没用这个控件呢?因为产品不同意- -!开始撸代码,整理一下思路先: 首先打算用一个Window来展示图片,但是QQ、微信预览图片的时候,任务栏并没有出现图标,难道用了什么黑科技?不管

    RT,这个功能比较常见,但凡涉及到图片预览的都跑不了,在说自己的实现方式前,介绍一个好用的控件:Extended.Toolkit中的Zoombox,感兴趣的同学可以去搜一下这个控件,它封装了常用的预览功能。那么为什么我没用这个控件呢?因为产品不同意- -!

    开始撸代码,整理一下思路先:
    首先打算用一个Window来展示图片,但是QQ、微信预览图片的时候,任务栏并没有出现图标,难道用了什么黑科技?不管它,将Window的ShowInTaskbar设置为False就可以不显示在任务栏了。
    继续,提到移动、旋转、缩放之类的,WPF提供了与之对应的Transform:TranslateTransform、RotateTransform、ScaleTransform,所以我们必然要使用他们仨了。怎么触发呢?那就用到事件了,移动么MouseMove,缩放么MouseWheel,旋转的话就是固定的按钮的点击事件了。另外,缩放的话可以限制一下最大和最小的缩放系数,我这边只设了缩小时如果小于系数0.3就不再缩小了,放大系数没有设置。

    说一下其中的坑:
    MouseWheel事件参数里会取到鼠标的Delta,这个参数不好直接用来设置缩放系数,那多少合适呢,看到别人的经验之谈,用这个Delta/3000即可。

    double delta = (double)e.Delta / 3000;
    ScaleTransform scale = group.Children[0] as ScaleTransform;
    if (scale.ScaleX < 0.3 && scale.ScaleY < 0.3 && e.Delta < 0)
    {
            return;
    }
    scale.CenterX = this.imageControl.ActualWidth / 2;
    scale.CenterY = this.imageControl.ActualHeight / 2;
    scale.ScaleX += delta;
    scale.ScaleY += delta;
    

    MouseMove移动图片的时候,是可以将整个图片移到Window外面去的,这就要我们限制一下图片的移动范围了:

       private void TopMove(TranslateTransform translate, Point position, Point imagePos) 
            {
                if (scaleValue > 1.0)
                {
                    if (mouseXY.Y - position.Y > 0.0)//up
                    {
                        double wm = winHeight - position.Y;
                        double im = (this.imageControl.ActualHeight - imagePos.Y) * scaleValue;
                        if (wm - im <= -5.0)
                        {
                            translate.Y -= mouseXY.Y - position.Y;
                        }
                    }
                    else
                    {
                        if (position.Y / scaleValue - imagePos.Y <= -5.0)
                        {
                            translate.Y -= mouseXY.Y - position.Y;
                        }
                    }
                    if (mouseXY.X - position.X > 0.0)//left
                    {
                        double iw = (this.imageControl.ActualWidth - imagePos.X) * scaleValue;
                        double ww = winWidth - position.X;
                        if (ww - iw <= -5.0)
                        {
                            translate.X -= mouseXY.X - position.X;
                        }
                    }
                    else
                    {
                        if (position.X / scaleValue - imagePos.X <= -5.0)
                        {
                            translate.X -= mouseXY.X - position.X;
                        }
                    }
                }
                else
                {
                    if (mouseXY.Y - position.Y > 0.0)//up
                    {
                        if (position.Y / scaleValue >= imagePos.Y)
                        {
                            translate.Y -= mouseXY.Y - position.Y;
                        }
                    }
                    else
                    {
                        double im = (this.imageControl.ActualHeight - imagePos.Y) * scaleValue;
                        double wm = winHeight - position.Y;
                        if (im <= wm)
                        {
                            translate.Y -= mouseXY.Y - position.Y;
                        }
                    }
                    if (mouseXY.X - position.X > 0.0)//left
                    {
                        if (position.X / scaleValue >= imagePos.X)
                        {
                            translate.X -= mouseXY.X - position.X;
                        }
                    }
                    else
                    {
                        double iw = (this.imageControl.ActualWidth - imagePos.X) * scaleValue;
                        double ww = winWidth - position.X;
                        if (iw <= ww)
                        {
                            translate.X -= mouseXY.X - position.X;
                        }
                    }
                }
            }
    

    稍微解释一下上面的代码,position是鼠标相对于Window的位置,imagePos是鼠标相对于图片的位置,scaleValue是图片当前的缩放比例,当图片是缩小状态(scaleValue<1)时,允许图片在整个Window里拖动,上移时,如果图片上边框触碰到了Window上边框,则不能再上移(另外3个方向原理相同),反之(scaleValue>1),只有当图片超出Window范围时才允许拖动,假设,图片上下超出了Window,则只能上下移动不能左右移动,并且,上移时,如果图片下边框触碰到了Window下边框,则不能再上移(另外3个方向原理相同)。
    眼尖的同学可能注意到了上面这个方法名:TopMove,没错,这个算法只适用于图片正着放的时候的位移计算,我们不是有旋转吗,旋转了只有就不能这么算了,原因在于,imagePos始终是相对于图片来的,也就是说,如果图片旋转了90°,那么imagePos的坐标系也要旋转90°,但是我们最终要计算的是相对于Window的坐标系,所以要做相应的转换。

    好了,上完整的代码:

    <Window x:Class="VcreditChat.Windows.MaxPicture"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
            WindowStyle="None" 
            AllowsTransparency="True"
            Background="#82000000"
            KeyDown="PicWin_KeyDown"
            Loaded="PicWin_Loaded"
            MouseLeftButtonDown="Window_MouseLeftButtonDown"   
            WindowStartupLocation="CenterScreen"
            Icon="../Resources/Images/ico_48.ico"
            ShowInTaskbar="False"
            Closed="PicWin_Closed"
            x:Name="picWin">
        <Grid x:Name="outGrid">
            <Grid.Resources>
                <TransformGroup x:Key="transGroup">
                    <ScaleTransform/>
                    <TranslateTransform/>
                    <RotateTransform/>
                </TransformGroup>
            </Grid.Resources>
            
            <ContentControl x:Name="picControl" 
                            MouseLeftButtonDown="PicControl_MouseLeftButtonDown"
                            MouseLeftButtonUp="PicControl_MouseLeftButtonUp"
                            MouseMove="PicControl_MouseMove"
                            MouseWheel="PicControl_MouseWheel">
                <Image x:Name="imageControl"
                       RenderTransform="{StaticResource transGroup}" 
                       Stretch="None"
                       RenderOptions.BitmapScalingMode="Fant"
                       MouseEnter="ImageControl_MouseEnter"
                       MouseLeave="ImageControl_MouseLeave">
                    <Image.ContextMenu>
                        <ContextMenu>
                            <MenuItem Foreground="#333333" Header="复制" Click="MaxImageCopy_Click"></MenuItem>
                            <MenuItem Foreground="#333333" Header="另存为" Click="MaxImageSave_Click"></MenuItem>
                        </ContextMenu>
                    </Image.ContextMenu>
                </Image>
            </ContentControl>
    
            <StackPanel x:Name="failedImg" VerticalAlignment="Center" Visibility="Collapsed">
                <Image Source="../Resources/Images/img_failed.png" Stretch="None"></Image>
                <TextBlock x:Name="failedTxt" HorizontalAlignment="Center" Foreground="White" FontSize="14" Margin="0 6 0 0"></TextBlock>
            </StackPanel>
          
           
            <Border Background="#393A3C" Width="30" Height="30" VerticalAlignment="Top" HorizontalAlignment="Right" MouseLeftButtonDown="Image_MouseLeftButtonDown" MouseEnter="Border_MouseEnter" MouseLeave="Border_MouseLeave">
                <Grid>
                    <Path Data="M 8,8 L 22,22" Stroke="#FFFFFF" StrokeThickness="2"/>
                    <Path Data="M 22,8 L 8,22" Stroke="#FFFFFF" StrokeThickness="2"/>
                </Grid>
            </Border>
    
            <Border x:Name="scalBorder" Background="#80393A3C" Width="210" Height="40" VerticalAlignment="Bottom">
                <StackPanel VerticalAlignment="Center" Orientation="Horizontal" HorizontalAlignment="Center">
                    <Image  MouseLeftButtonDown="Small_Image_MouseLeftButtonDown" Stretch="None" Source="../Resources/Images/zoom_small.png" Cursor="Hand"></Image>
                    <TextBlock Margin="12 0 0 0" x:Name="scalTxt" FontSize="20" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center">100%</TextBlock>
                    <Image Margin="12 0 0 0" MouseLeftButtonDown="Big_Image_MouseLeftButtonDown" Stretch="None" Source="../Resources/Images/zoom_big.png" Cursor="Hand"></Image>
                    <Path Margin="10 0 0 0" Data="M 0,2 L 0,28" Stroke="#D8D8D8" StrokeThickness="1"></Path>
                    <Image Margin="10 0 0 0" MouseLeftButtonDown="Rotate_Image_MouseLeftButtonDown" Stretch="None" Source="../Resources/Images/rotate.png" Cursor="Hand"></Image>
                </StackPanel>
            </Border>
        </Grid>
    </Window>
    
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Shapes;
    using VcreditChat.Common;
    
    namespace VcreditChat.Windows
    {
        public partial class MaxPicture : Window
        {
            private double picWidth = 0.0;
            private double picHeight = 0.0;
    
            private double winWidth = 0.0;
            private double winHeight = 0.0;
    
            private bool mouseDown;
            private Point mouseXY;
    
            private double scaleValue = 1.0;
    
            private double rotateAngle = 0.0;
    
            private string picUrl = string.Empty;
    
            public MaxPicture(string picUrl)
            {
                InitializeComponent();
                this.picUrl = picUrl;
                System.IO.FileInfo fileInfo = new System.IO.FileInfo(picUrl);
                if (fileInfo.Length<=0)
                {
                    this.failedImg.Visibility = Visibility.Visible;
                    this.scalBorder.Visibility = Visibility.Collapsed;
                    this.failedTxt.Text = "图片过大,下载未完成。大图建议以文件方式发送!";
                    return;
                }
                BitmapSource bitmap = BitmapHelper.GetImgSource(picUrl);
                if (bitmap==null)
                {
                    this.failedImg.Visibility = Visibility.Visible;
                    this.scalBorder.Visibility = Visibility.Collapsed;
                    this.failedTxt.Text = "图片加载出错!";
                    return;
                }
                picHeight = bitmap.Height;
                picWidth = bitmap.Width;
                this.imageControl.Source = bitmap;
            }
    
    
            private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
            {
                try
                {
                    if (!mouseDown)
                    {
                        this.DragMove();
                    }
                }
                catch (Exception)
                {
                }
            }
    
            private void Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
            {
                this.Close();
            }
    
            private void Border_MouseEnter(object sender, MouseEventArgs e)
            {
                Border border = sender as Border;
                border.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#DC143C"));
            }
    
            private void Border_MouseLeave(object sender, MouseEventArgs e)
            {
                Border border = sender as Border;
                border.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#393A3C"));
            }
    
            private void PicWin_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.Key == Key.Escape)
                {
                   this.Close();
                }
            }
    
            private void PicControl_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
            {
                var img = sender as ContentControl;
                if (img == null)
                {
                    return;
                }
                img.CaptureMouse();
                this.mouseDown = true;
                this.mouseXY = e.GetPosition(img);
            }
    
            private void PicControl_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
            {
                var img = sender as ContentControl;
                if (img==null)
                {
                    return;
                }
                img.ReleaseMouseCapture();
                this.mouseDown = false;
            }
    
            private void PicControl_MouseMove(object sender, MouseEventArgs e)
            {
                var img = sender as ContentControl;
                if (img == null)
                {
                    return;
                }
                if (this.mouseDown)
                {
                    if (e.LeftButton != MouseButtonState.Pressed)
                    {
                        return;
                    }
                    this.Cursor = Cursors.SizeAll;
                    var group = this.outGrid.FindResource("transGroup") as TransformGroup;
                    TranslateTransform translate = group.Children[1] as TranslateTransform;
                    Point imagePos = e.GetPosition(this.imageControl);
                    Point position = e.GetPosition(img);
                    int i = Convert.ToInt16(rotateAngle % 360);
                    switch (i)
                    {
                        case 0:
                            TopMove(translate, position, imagePos);
                            break;
                        case 90:
                            RightMove(translate, position, imagePos);
                            break;
                        case 270:
                            LeftMove(translate, position, imagePos);
                            break;
                        case 180:
                            BottomMove(translate, position, imagePos);
                            break;
                        default:
                            break;
                    }
                    mouseXY = position;
                }
            }
    
            private void RightMove(TranslateTransform translate, Point position, Point imagePos)
            {
                if (scaleValue > 1.0)
                {
                    if (mouseXY.Y - position.Y > 0.0)//up
                    {
                        if (winHeight - position.Y - (this.imageControl.ActualWidth-imagePos.X) * scaleValue <= -5.0)
                        {
                            translate.X -= mouseXY.Y - position.Y;
                        }
                    }
                    else
                    {
                        if (position.Y / scaleValue - imagePos.X <= -5.0)
                        {
                            translate.X -= mouseXY.Y - position.Y;
                        }
                    }
                    if (mouseXY.X - position.X > 0.0)//left
                    {
                        if (winWidth - position.X - imagePos.Y * scaleValue <= -5.0)
                        {
                            translate.Y += mouseXY.X - position.X;
                        }
                    }
                    else
                    {
                        if (position.X / scaleValue -this.imageControl.ActualHeight+ imagePos.Y <= -5.0)
                        {
                            translate.Y += mouseXY.X - position.X;
                        }
                    }
                }
                else
                {
                    if (mouseXY.Y - position.Y > 0.0)//up
                    {
                        if (position.Y / scaleValue >= imagePos.X)
                        {
                            translate.X -= mouseXY.Y - position.Y;
                        }
                    }
                    else
                    {
                        if ((this.imageControl.ActualWidth - imagePos.X) * scaleValue <= winHeight - position.Y)
                        {
                            translate.X -= mouseXY.Y - position.Y;
                        }
                    }
                    if (mouseXY.X - position.X > 0.0)//left
                    {
                        if (position.X / scaleValue >=this.imageControl.ActualHeight- imagePos.Y)
                        {
                            translate.Y += mouseXY.X - position.X;
                        }
                    }
                    else
                    {
                        if (imagePos.Y * scaleValue <= winWidth - position.X)
                        {
                            translate.Y += mouseXY.X - position.X;
                        }
                    }
                }
            }
    
            private void LeftMove(TranslateTransform translate, Point position, Point imagePos)
            {
                if (scaleValue>1.0)
                {
                    if (mouseXY.Y - position.Y > 0.0)//up
                    {
                        if (winHeight - position.Y - imagePos.X * scaleValue <= -5.0)
                        {
                            translate.X += mouseXY.Y - position.Y;
                        }
                    }
                    else
                    {
                        if (position.Y / scaleValue - this.imageControl.ActualWidth + imagePos.X <= -5.0)
                        {
                            translate.X += mouseXY.Y - position.Y;
                        }
                    }
                    if (mouseXY.X - position.X > 0.0)//left
                    {
                        double iw = (this.imageControl.ActualHeight - imagePos.Y) * scaleValue;
                        double ww = winWidth - position.X;
                        if (ww - iw <= -5.0)
                        {
                            translate.Y -= mouseXY.X - position.X;
                        }
                    }
                    else
                    {
                        if (position.X-imagePos.Y * scaleValue <=-0.5 )
                        {
                            translate.Y -= mouseXY.X - position.X;
                        }
                    }
                }
                else
                {
                    if (mouseXY.Y - position.Y > 0.0)//up
                    {
                        if (position.Y / scaleValue >= this.imageControl.ActualWidth - imagePos.X)
                        {
                            translate.X += mouseXY.Y - position.Y;
                        }
                    }
                    else
                    {
                        if (imagePos.X * scaleValue <= winHeight - position.Y)
                        {
                            translate.X += mouseXY.Y - position.Y;
                        }
                    }
                    if (mouseXY.X - position.X > 0.0)//left
                    {
                        if (position.X / scaleValue >= imagePos.Y)
                        {
                            translate.Y -= mouseXY.X - position.X;
                        }
                    }
                    else
                    {
                        if ((this.imageControl.ActualHeight - imagePos.Y) * scaleValue <= winWidth - position.X)
                        {
                            translate.Y -= mouseXY.X - position.X;
                        }
                    }
                }
            }
    
            private void BottomMove(TranslateTransform translate, Point position, Point imagePos)
            {
                if (scaleValue > 1.0)
                {
                    if (mouseXY.Y - position.Y > 0.0)//up
                    {
                        if (winHeight - position.Y - imagePos.Y * scaleValue <= -5.0)
                        {
                            translate.Y += mouseXY.Y - position.Y;
                        }
                    }
                    else
                    {
                        if (position.Y / scaleValue -this.imageControl.ActualHeight+ imagePos.Y <= -5.0)
                        {
                            translate.Y += mouseXY.Y - position.Y;
                        }
                    }
                    if (mouseXY.X - position.X > 0.0)//left
                    {
                        if (winWidth - position.X - imagePos.X * scaleValue <= -5.0)
                        {
                            translate.X += mouseXY.X - position.X;
                        }
                    }
                    else
                    {
                        if (position.X / scaleValue -this.imageControl.ActualWidth + imagePos.X <= -5.0)
                        {
                            translate.X += mouseXY.X - position.X;
                        }
                    }
                }
                else
                {
                    if (mouseXY.Y - position.Y > 0.0)//up
                    {
                        if (position.Y / scaleValue >= this.imageControl.ActualHeight - imagePos.Y)
                        {
                            translate.Y += mouseXY.Y - position.Y;
                        }
                    }
                    else
                    {
                        if (imagePos.Y * scaleValue <= winHeight - position.Y)
                        {
                            translate.Y += mouseXY.Y - position.Y;
                        }
                    }
                    if (mouseXY.X - position.X > 0.0)//left
                    {
                        if (position.X / scaleValue >=this.imageControl.ActualWidth- imagePos.X)
                        {
                            translate.X += mouseXY.X - position.X;
                        }
                    }
                    else
                    {
                        if (imagePos.X * scaleValue <= winWidth - position.X)
                        {
                            translate.X += mouseXY.X - position.X;
                        }
                    }
                }
            }
    
            private void TopMove(TranslateTransform translate, Point position, Point imagePos) 
            {
                if (scaleValue > 1.0)
                {
                    if (mouseXY.Y - position.Y > 0.0)//up
                    {
                        double wm = winHeight - position.Y;
                        double im = (this.imageControl.ActualHeight - imagePos.Y) * scaleValue;
                        if (wm - im <= -5.0)
                        {
                            translate.Y -= mouseXY.Y - position.Y;
                        }
                    }
                    else
                    {
                        if (position.Y / scaleValue - imagePos.Y <= -5.0)
                        {
                            translate.Y -= mouseXY.Y - position.Y;
                        }
                    }
                    if (mouseXY.X - position.X > 0.0)//left
                    {
                        double iw = (this.imageControl.ActualWidth - imagePos.X) * scaleValue;
                        double ww = winWidth - position.X;
                        if (ww - iw <= -5.0)
                        {
                            translate.X -= mouseXY.X - position.X;
                        }
                    }
                    else
                    {
                        if (position.X / scaleValue - imagePos.X <= -5.0)
                        {
                            translate.X -= mouseXY.X - position.X;
                        }
                    }
                }
                else
                {
                    if (mouseXY.Y - position.Y > 0.0)//up
                    {
                        if (position.Y / scaleValue >= imagePos.Y)
                        {
                            translate.Y -= mouseXY.Y - position.Y;
                        }
                    }
                    else
                    {
                        double im = (this.imageControl.ActualHeight - imagePos.Y) * scaleValue;
                        double wm = winHeight - position.Y;
                        if (im <= wm)
                        {
                            translate.Y -= mouseXY.Y - position.Y;
                        }
                    }
                    if (mouseXY.X - position.X > 0.0)//left
                    {
                        if (position.X / scaleValue >= imagePos.X)
                        {
                            translate.X -= mouseXY.X - position.X;
                        }
                    }
                    else
                    {
                        double iw = (this.imageControl.ActualWidth - imagePos.X) * scaleValue;
                        double ww = winWidth - position.X;
                        if (iw <= ww)
                        {
                            translate.X -= mouseXY.X - position.X;
                        }
                    }
                }
            }
    
            private void PicControl_MouseWheel(object sender, MouseWheelEventArgs e)
            {
                ContentControl img = sender as ContentControl;
                if (img == null)
                {
                    return;
                }
                Point point = e.GetPosition(img);
                TransformGroup group = this.outGrid.FindResource("transGroup") as TransformGroup;
                double delta = (double)e.Delta / 3000;
                ScaleTransform scale = group.Children[0] as ScaleTransform;
                if (scale.ScaleX < 0.3 && scale.ScaleY < 0.3 && e.Delta < 0)
                {
                    return;
                }
                scale.CenterX = this.imageControl.ActualWidth / 2;
                scale.CenterY = this.imageControl.ActualHeight / 2;
                scale.ScaleX += delta;
                scale.ScaleY += delta;
                scaleValue = scale.ScaleX;
                this.scalTxt.Text = Math.Ceiling(scaleValue * 100) + "%";
            }
    
            private void PicWin_Loaded(object sender, RoutedEventArgs e)
            {
                winWidth = this.picWin.Width;
                winHeight = this.picWin.Height;
    
                if (picWidth > winWidth || picHeight > winHeight)
                {
                    this.imageControl.Stretch = Stretch.Uniform;
                }
            }
    
            private void ImageControl_MouseEnter(object sender, MouseEventArgs e)
            {
                this.Cursor = Cursors.SizeAll;
            }
    
            private void ImageControl_MouseLeave(object sender, MouseEventArgs e)
            {
                this.Cursor = Cursors.Arrow;
            }
    
            private void MaxImageCopy_Click(object sender, RoutedEventArgs e)
            {
                BitmapHelper.ImageCopy(this.picUrl);
            }
    
            private void MaxImageSave_Click(object sender, RoutedEventArgs e)
            {
                BitmapHelper.ImageSave(this.picUrl);
            }
    
            private void PicWin_Closed(object sender, EventArgs e)
            {
                System.GC.Collect();
            }
    
            private void Rotate_Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
            {
                TransformGroup group = this.outGrid.FindResource("transGroup") as TransformGroup;
                TranslateTransform translate = group.Children[1] as TranslateTransform;
                RotateTransform rotate = group.Children[2] as RotateTransform;
                translate.X = 0;
                translate.Y = 0;
    
                rotate.CenterX = this.imageControl.ActualWidth / 2;
                rotate.CenterY = this.imageControl.ActualHeight / 2;
                rotateAngle += 90.0;
                rotate.Angle = rotateAngle;
            }
    
            private void Small_Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
            {
                ZoomImage(-0.05,-1);
            }
    
            private void Big_Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
            {
                ZoomImage(0.05,1);
            }
    
            private void ZoomImage(double delta,int type)
            {
                TransformGroup group = this.outGrid.FindResource("transGroup") as TransformGroup;
                ScaleTransform scale = group.Children[0] as ScaleTransform;
                if (type==-1)
                {
                    if (scale.ScaleX < 0.3 && scale.ScaleY < 0.3)
                    {
                        return;
                    }
                }
                scale.CenterX = this.imageControl.ActualWidth / 2;
                scale.CenterY = this.imageControl.ActualHeight / 2;
                scale.ScaleX += delta;
                scale.ScaleY += delta;
                scaleValue = scale.ScaleX;
                this.scalTxt.Text = Math.Ceiling(scaleValue * 100) + "%";
            }
         
        }
    }
    
    

    最后上个图吧:
    这里写图片描述

    展开全文
  • 我下载了ckeditor的预览插件并已经集成进去了,但是应该怎么配置,我的前台并没有出来那个预览按钮,求解决! ![图片说明](https://img-ask.csdn.net/upload/201809/11/1536660106_512695.jpg) ![图片说明]...
  • 本文实例大家分享了jquery实现...一直写的是图片的本地路径,没有什么用。直接上代码。 html部分: input:file事件是上传类型 较常用的属性值如下: accept:表示可以选择的文件MIME类型,多个MIME类型用
    本文实例为大家分享了jquery实现图片上传前预览的具体代码,供大家参考,具体内容如下

    介绍之前有一个小问题,一直找不到图片预览时,图片不出来的原因,原来在于图片的路径!!!一直写的是图片的本地路径,没有什么用。直接上代码。


    html部分:

    <img id="pic" src="" >
     <input id="upload" name="file" accept="image/*" type="file" style="display: none"/>

    input:file事件是上传类型
    较常用的属性值如下:
    accept:表示可以选择的文件MIME类型,多个MIME类型用英文逗号分开,常用的MIME类型见下表。
    若要支持所有图片格式,则写 * 即可。
    multiple:是否可以选择多个文件,多个文件时其value值为第一个文件的虚拟路径

    input:file的样式是不变的,所以若要改变它的样式,首先将它隐藏。display:none;

    CSS部分:
    因为做的是一个圆形的头像,所以对图片样式先进行定义。

    #pic{width:100px;height:100px;border-radius:50% ;margin:20px auto;cursor: pointer;}

    jQuery部分:

    $(function() {
    		$("#pic").click(function () {
    		$("#upload").click();  //隐藏了input:file样式后,点击头像就可以本地上传
    		$("#upload").on("change",function(){
    		var objUrl = getObjectURL(this.files[0]) ; //获取图片的路径,该路径不是图片在本地的路径
    		if (objUrl) {
    		$("#pic1").attr("src", objUrl) ; //将图片路径存入src中,显示出图片
    		}
    		});
    		});
    	});
    		//建立一個可存取到該file的url
    		function getObjectURL(file) {
    		var url = null ;
    		if (window.createObjectURL!=undefined) { // basic
    		url = window.createObjectURL(file) ;
    		} else if (window.URL!=undefined) { // mozilla(firefox)
    		url = window.URL.createObjectURL(file) ;
    		} else if (window.webkitURL!=undefined) { // webkit or chrome
    		url = window.webkitURL.createObjectURL(file) ;
    		}
    		return url ;
    		}

    转载:http://www.jb51.net/article/83894.htm
    展开全文
  • 一是保存到数据库中,这时候如果库中没有对应的记录,那么就首先要在库中创建一条记录,这也就是为什么在有的系统中录入一条信息,如果需要上传照片,会提示先点击上传照片,才会在页面中显示图片预览,而不是点击...
  • 项目中的附件列表,通常情况都需要提供下载、删除的功能,功能本身没有什么要说的,都是基本功能,使用浏览器的的下载功能,也都是用window.open(url),或者window.location.href=url的方式,url即附件下载接口,...
  •  前段时间因为项目上需要而写的一个JQuery的插件,用于将页面中的小图片放大原始图片从而进行预览效果的。 这个插件就像其它所有的JQuery插件一样,本身没有多么特别吸引的地方,但如果结合我后面要写的一篇关于...
  • 预览的时候怎么都不能显示,查了一会也没有办法。 最后发现是后缀的问题,如果是“.png”那就可以显示,大写的就是不行(我也不知道是什么原因)。总是出现这种情况的话,改成小写就好了,可能还会出现改不了小写...
  • 项目中的附件列表,通常情况都需要提供下载、删除的功能,功能本身没有什么要说的,都是基本功能,使用浏览器的的下载功能,也都是用window.open(url),或者[removed].href=url的方式,url即附件下载接口,浏览器...
  • 项目中的附件列表,通常情况都需要提供下载、删除的功能,功能本身没有什么要说的,都是基本功能,使用浏览器的的下载功能,也都是用window.open(url),或者window.location.href=url的方式,url即附件下载接口,...
  • 为什么手机上不支持项目预览?(项目是用vue和weex开发的) ![图片说明](https://img-ask.csdn.net/upload/201901/31/1548915077_380062.png)![图片说明]...
  • ![图片说明](https://img-ask.csdn.net/upload/201903/15/1552639439_329636.png) 没有数据库关系图选项,请问是加载的功能不够还是设置问题还是什么问题?用的是SQL2019预览
  • 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • 网上逛了一圈,对于docx直接转图片这种转换没有什么有效的信息,不过结合获取的信息,笔者倒是想了一个曲线救国的法子,docx->pdf, pdf->image,通过两步可以最终实现该转换。一、环境准备首先进行环境准备...
  • 求助各位大佬,为什么我加入了win10预览体验计划之后没有办法收到更新呢? ![图片说明](https://img-ask.csdn.net/upload/202010/19/1603099208_128304.png) ![图片说明]...
  • Camera预览图解析

    2011-09-13 09:53:09
    网上查询预览的问题,多数是由于 byte[]的数据无法解析成Bitmap,然后会有一引2.2系统的...还没有找到为什么。先把代码放上,备份: [code="java"] 由于两个工程效果不同,所以把整段代码放上来,有...
  • ![图片说明](https://img-ask.csdn.net/upload/201701/20/1484844483_722849.jpg) 为什么没有应该有的界面预览显示
  • 为什么突然间画出的viso图和公式显示不出来了,发给同学发现并没有问题。 解决: 使用alt+F9;可以将图片收起来,预览或打印时可显示,此点可能是方便查看文档, 同样试一下alt+F9可以将隐藏的图和公式恢复查看方式...
  • ![图片说明](https://img-ask.csdn.net/upload/201509/10/1441879383_103763.png) 在eclipse的预览图,为什么一个有上面的灰色条条,另外一个没有这个灰色条条???
  • # 部署了office web apps后 # # 预览 …/op/view.aspx成功 ...# 这到底是为什么吗? # # 在网上搜了很多相关解决方法,但是有提到这种问题的,没有找到一个解决的说明,麻烦帮忙看一下是什么原因造成的吧
  • 为什么要分包 真机预览时出现大于2M,无法预览。 对项目进行规整划分 如何分包 实际操作 先将需要分包的文件拷贝到小程序根目录下 在app.json中配置分包结构(如图) 修改被分包中的引用路径,如图片资源、导航...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 192
精华内容 76
关键字:

为什么图片没有预览