请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

szpzr

高级会员

139

主题

554

帖子

1763

积分

高级会员

积分
1763

活字格认证

szpzr
高级会员   /  发表于:2017-4-17 12:44  /   查看:5746  /  回复:11
区域报表中放置picture控件,为什么打印的图像跟保存到数据库image字段图像旋转90度,如何设置才能保持一致。

11 个回复

倒序浏览
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-4-17 16:01:44
沙发
您好,

您是说报表打印到纸张之后,将数据库的图片自动旋转了90度?还是说将报表呈现在客户端时,图片旋转了90度?
这边没有重新您说的问题,打印预览均为正常,是否存储到数据库的图片源本身就是旋转90度?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
szpzr
高级会员   /  发表于:2017-4-18 13:59:41
板凳
保存前图片:
报表打印效果:
保存图片到数据库:
string FileType = FileUpload1.PostedFile.ContentType;//获取文件的格式
                    string FileName = FileUpload1.FileName;              //文件名称
                    string FilePath = FileUpload1.PostedFile.FileName; //文件路径
                    int FileSize = FileUpload1.PostedFile.ContentLength;//获取文件的大小
                    //保存文件到数据库
                    //文件大小
                    int intDoclen = FileUpload1.PostedFile.ContentLength;
                    //设置缓冲的大小
                    byte[] Docbuffer = new byte[intDoclen];
                    //将上传文件的内容保存到缓冲中
                    Stream objStream;
                    objStream = FileUpload1.PostedFile.InputStream;
                    objStream.Read(Docbuffer, 0, intDoclen);
                    //FileData = FileUpload1.FileBytes;//得到文件数组
                    Convert.ToBase64String(Docbuffer);
                    string MNoteNo = TxtNoteNo.Text.Trim();
                    string MFiletype = FileUpload1.PostedFile.ContentType;//文件类型
                    //strselect1 = "Insert into Project_Manage_File(NoteNo,FileType,FileName,ProjectFile) values(@NoteNo,@FileType,@FileName,@ProjectFile)";
                    //执行存储过程
                    Cmd = new SqlCommand("In_PurchaseApply_File", Sqlcon, Tran);
                    Cmd.CommandType = CommandType.StoredProcedure;
                    Cmd.Parameters.Add("@NoteNo", SqlDbType.VarChar, 8);
                    Cmd.Parameters.Add("@FileType", SqlDbType.VarChar, 500);
                    Cmd.Parameters.Add("@FileName", SqlDbType.VarChar, 100);
                    Cmd.Parameters.Add("@ProjectFile", SqlDbType.Image);
                    Cmd.Parameters[0].Value = MNoteNo;
                    Cmd.Parameters[1].Value = MFiletype;
                    Cmd.Parameters[2].Value = FileName;
                    Cmd.Parameters[3].Value = Docbuffer;
                    Cmd.ExecuteNonQuery();
从数据库取出打印报表
SqlStr = "Select NoteFile From [PurchaseApplyFile]  where NoteNo='" + NoteNo + "'";
            Cmd = new SqlCommand(SqlStr, SqlCon);
            Dr=Cmd.ExecuteReader();
            if (Dr.Read())
            {
                byte[] MeansContentObj = (byte[])Dr["NoteFile"];
                MemoryStream ms = new MemoryStream(MeansContentObj);
                Bitmap bmp = new Bitmap(ms);
                this.picture1.Image = bmp;
            }
图片大小是否会造成这种情况?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-4-18 16:49:55
地板
报表控件不会自动旋转图片,而是提供的是什么数据源就是展示什么,所以您需要检查在存储到数据库之前图片是否发生过旋转
回复 使用道具 举报
szpzr
高级会员   /  发表于:2017-4-18 17:04:42
5#
数据库导出方向是对的。
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-4-18 17:25:57
6#
您可以直接把图片的资源设置为 本地那张图片来测试。
回复 使用道具 举报
szpzr
高级会员   /  发表于:2017-4-19 07:38:07
7#
本地图片设置后就旋转90度。
回复 使用道具 举报
szpzr
高级会员   /  发表于:2017-4-19 07:42:09
8#
图片控件放置在细节和报表尾有区别吗?
回复 使用道具 举报
szpzr
高级会员   /  发表于:2017-4-19 07:44:12
9#
一样的。
回复 使用道具 举报
szpzr
高级会员   /  发表于:2017-4-19 09:46:44
10#
原始图片高度大于宽度就会旋转。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部