| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8072 人关注过本帖, 2 人收藏
标题:如何知道一张图片的长和宽?
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
修改縱橫dpi,可以把長的圖像弄成扁的,呵呵。玩ps的,應該很清楚這種東西。

Epson LQ針式打印機,就有兩種分辨率,180dpi和360dpi的,同一張圖,打印出來的大小就可以不一樣。像激光打印機,打印分辨率甚至可以達到2000dpi,大圖也打成小圖。出版界的行規好像是300dpi吧。

[ 本帖最后由 TonyDeng 于 2014-2-20 23:49 编辑 ]

授人以渔,不授人以鱼。
2014-02-20 23:42
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:658
专家分:2180
注 册:2014-2-7
收藏
得分:0 
判断一张图片的原始像素(长*高)我有更简单的方法:
1. 在表单上放置一个 image 控件,保持默认属性 Stretch = 0((剪裁)
2. 新建一个文本框 Text1,用于显示图片的原始尺寸
2. 添加一个命令按钮,在Click事件中输入:

cFile = GETPICT()
IF !EMPTY(cFile) AND FILE(cFile)
    thisform.image1.Picture = cFile
    thisform.text1.Value = TRAN(thisform.image1.Width) + ',' + TRAN(thisform.image1.Height)
ENDIF

泉城飞狐
2014-02-21 11:13
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 12楼 liuxingang28
你測試一下圖片尺寸大於表單尺寸時,這樣取得的尺寸對不對,我沒試過,道理上感覺會被切割了,實證一下即知。

授人以渔,不授人以鱼。
2014-02-21 11:15
xuevfp89
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2014-1-22
收藏
得分:0 
为了学习和加分,我赞同。
2014-02-21 11:23
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:0 
程序代码:
  LOCAL oForm, cImgSize
  m.tcFileName=GETFILE('jpg','请选择图片')
  IF FILE(m.tcfilename)
    m.cImgSize = ''
    oForm = NEWOBJECT( 'Form' )
    WITH oForm
      .AddObject( 'img', 'Image' )
      WITH .img
        TRY
          .Picture =m.tcFileName
          m.cImgSize = TRANSFORM( .Width ) + ' * ' + TRANSFORM( .Height )
        CATCH
        ENDTRY
      ENDWITH
    ENDWITH 
    oForm.release
  ENDIF
  ? '当前图片宽*高='+ m.cImgSize  
试试这个,这是我从前收藏的

只求每天有一丁点儿的进步就可以了
2014-02-21 13:19
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:658
专家分:2180
注 册:2014-2-7
收藏
得分:0 
以下是引用TonyDeng在2014-2-21 11:15:59的发言:

你測試一下圖片尺寸大於表單尺寸時,這樣取得的尺寸對不對,我沒試過,道理上感覺會被切割了,實證一下即知。

经验证:当图片尺寸大于表单尺寸时,该方法也是正确的。

泉城飞狐
2014-02-21 13:49
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:658
专家分:2180
注 册:2014-2-7
收藏
得分:0 
以下是引用wengjl在2014-2-21 13:19:34的发言:

 
  LOCAL oForm, cImgSize
  m.tcFileName=GETFILE('jpg','请选择图片')
  IF FILE(m.tcfilename)
    m.cImgSize = ''
    oForm = NEWOBJECT( 'Form' )
    WITH oForm
      .AddObject( 'img', 'Image' )
      WITH .img
        TRY
          .Picture =m.tcFileName
          m.cImgSize = TRANSFORM( .Width ) + ' * ' + TRANSFORM( .Height )
        CATCH
        ENDTRY
      ENDWITH
    ENDWITH  
    oForm.release
  ENDIF
  ? '当前图片宽*高='+ m.cImgSize  试试这个,这是我从前收藏的

将 GetFile('jpg','请选择图片') 改为 GetPict()就更完美了。因为该代码支持多种图片格式,并不仅限于JPG文件。


泉城飞狐
2014-02-21 13:55
快速回复:如何知道一张图片的长和宽?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.043378 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved