Foxtable(狐表)用户栏目专家坐堂 → gdi+ 坐标原点可不可以从右下角开始?


  共有2766人关注过本帖树形打印复制链接

主题:gdi+ 坐标原点可不可以从右下角开始?

帅哥哟,离线,有人找我吗?
jinzhengbe
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
gdi+ 坐标原点可不可以从右下角开始?  发帖心情 Post By:2014/8/27 16:22:00 [只看该作者]


gdi+ 坐标原点可不可以从右下角开始?如何实现? 谢谢啊

 


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/8/27 16:25:00 [只看该作者]

不行. 你可以统计计算来定位啊.

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhengbe
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
  发帖心情 Post By:2014/8/27 17:25:00 [只看该作者]

不是很懂,是要我根据图片的大小计算么?因为图片的大小都不统一。所以规格不是很好定,

其实我是想实现下面的功能

 

1 先检查图片的大小  if 图片宽 > 800  then  压缩图片的宽度到800, 长度根据比例自动缩小(这个还不知道怎么做)

 

2 然后文件名添加到图片的右下角,(这个已经请教过了)

 

我写代码如下

 

希望能指点一下 功能1 的代码,和定位的办法

 

For Each File As String In FileSys.GetFiles("C:\图片\")

Dim s As String = Tables("商品").Current("cn_name")        

    Dim img As Image = getimage(file)
    Dim g As Graphics = Graphics.FromImage(img)
    Dim fnt As New Font("宋体",13)
    Dim msg As String = s
    g.DrawString(msg,fnt,Brushes.Red,10,10)
    img.Save(s)
    g.Dispose()

next

 


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/8/27 17:35:00 [只看该作者]

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=27615&skin=0

等比例 就是长宽除以相同的数啊.



 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/8/27 17:36:00 [只看该作者]

窗口的高减去图片的高  窗口的宽减去图片的宽, 定位这个点.就是靠右下角了.

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/27 17:40:00 [只看该作者]

 统一为800,就不帮你做了;右下角的,参考下面代码

 

Dim img As Image = getimage("d:\test.jpg")
Dim g As Graphics = Graphics.FromImage(img)
Dim fnt As New Font("宋体",16)
Dim msg As String = "I Like Foxtable"
Dim sz As Object = g.MeasureString(msg, fnt)
g.DrawString(msg,fnt,Brushes.Red, img.Width - sz.Width - 10, Img.Height - sz.Height - 10)
img.Save("d:\test.jpg")
g.Dispose()


 回到顶部
帅哥哟,离线,有人找我吗?
hiliuyong
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:436 积分:5082 威望:0 精华:0 注册:2012/3/27 15:33:00
  发帖心情 Post By:2017/4/10 14:47:00 [只看该作者]

谢谢有点甜,解决了我的问题,我现在生成的文件有点大,600多K,能不能压缩一下呢?


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/10 15:30:00 [只看该作者]

以下是引用hiliuyong在2017/4/10 14:47:00的发言:

谢谢有点甜,解决了我的问题,我现在生成的文件有点大,600多K,能不能压缩一下呢?

 

保存的时候设置一下保存格式

 

https://msdn.microsoft.com/zh-cn/library/system.drawing.imaging.imageformat_members(v=vs.80).aspx

 


 回到顶部