以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  gdi+ 坐标原点可不可以从右下角开始?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=56000)

--  作者:jinzhengbe
--  发布时间:2014/8/27 16:22:00
--  gdi+ 坐标原点可不可以从右下角开始?


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

 


--  作者:Bin
--  发布时间:2014/8/27 16:25:00
--  
不行. 你可以统计计算来定位啊.
--  作者:jinzhengbe
--  发布时间: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
--  发布时间:2014/8/27 17:35:00
--  
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=27615&skin=0

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



--  作者:Bin
--  发布时间:2014/8/27 17:36:00
--  
窗口的高减去图片的高  窗口的宽减去图片的宽, 定位这个点.就是靠右下角了.
--  作者:有点甜
--  发布时间: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
--  发布时间:2017/4/10 14:47:00
--  

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


--  作者:有点色
--  发布时间: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