sd敢达读取图里面的读取图的分辨率是多少啊

请问如何获得一个jpg图片的分辨率?|交流区 - 梅子Visual FoxPro 编程 - Powered by phpwind
查看完整版本: [--
请问如何获得一个jpg图片的分辨率?
宽和高是多少?谢谢
*!*&&&&作者 : 大米恨老鼠Clear*!*&&&&IPTC(Addbs(Sys(5)+Sys(2003))+&IMG_4570.JPG&)IPTC(&E:\Users\Administrator\Pictures\TV10B.png&)Procedure IPTC&&&&Lparameters tcPicFullPath&&&&oShell = Createobject(&Shell.Application&)&&&&oFolder = oShell.Namespace(Justpath(tcPicFullPath))&&&&With oFolder&&&&&&&&For Each cFile In oFolder.Items&&&&&&&&&&&&If Upper(cFile.Name) && Upper(Justfname(tcPicFullPath))&&&&&&&&&&&&&&&&Loop&&&&&&&&&&&&Endif&&&&&&&&&&&&For i = 0 To 47&&&&&&&&&&&&&&&&* I = 31 时,是该图形文件的尺寸/分辨率&&&&&&&&&&&&&&&&? .GetDetailsOf(oFolder.Items, I) + & : & + .GetDetailsOf(cFile, I)&&&&&&&&&&&&Endfor&&&&&&&&Endfor&&&&Endwith
*!*&&&&作者:老鼠怀孕了ClearImg = Createobject(&WIA.ImageFile&)Img.LoadFile (Getpict())s = &Width = & + Transform(Img.Width) + Chr(13) + ;&&&&&Height = & + Transform(Img.Height) + Chr(13) + ;&&&&&Depth = & + Transform(Img.PixelDepth) + Chr(13) + ;&&&&&HorizontalResolution = & + Transform(Img.HorizontalResolution) + Chr(13) + ;&&&&&VerticalResolution = & + Transform(Img.VerticalResolution) + Chr(13) + ;&&&&&FrameCount = & + Transform(Img.FrameCount) + Chr(13)If Img.IsIndexedPixelFormat&&&&s = s + &Pixel data contains palette indexes& + Chr(13)EndifIf Img.IsAlphaPixelFormat&&&&s = s + &Pixel data has alpha information& + Chr(13)EndifIf Img.IsExtendedPixelFormat&&&&s = s + &Pixel data has extended color information (16 bit/channel)& + Chr(13)EndifIf Img.IsAnimated&&&&s = s + &Image is animated& + Chr(13)EndifIf Img.Properties.Exists(&40091&)&&&&v = Img.Properties(&40091&).Value&&&&s = s + &Title = & + v.String + Chr(13)EndifIf Img.Properties.Exists(&40092&)&&&&v = Img.Properties(&40092&).Value&&&&s = s + &Comment = & + v.String + Chr(13)EndifIf Img.Properties.Exists(&40093&)&&&&v = Img.Properties(&40093&).Value&&&&s = s + &Author = & + v.String + Chr(13)EndifIf Img.Properties.Exists(&40094&)&&&&v = Img.Properties(&40094&).Value&&&&s = s + &Keywords = & + v.String + Chr(13)EndifIf Img.Properties.Exists(&40095&)&&&&v = Img.Properties(&40095&).Value&&&&s = s + &Subject = & + v.String + Chr(13)Endif=Messagebox( s )
老大好,有问题请帮助解决[attachment=43300]用高拍仪拍A4 纸获得的图片jpg文件分辨率为,然会在表单上显示(由于分辨率大显示不清晰,如果把分辨率调低也不清晰)我只是显示在表单上,然后用调整那个蓝色的框获得坐标,截取图像,himg=imgopen('_tmp.jpg')ImgCrop(hImg,m_left, m_top,m_width,m_height)可截取的位置不对,可能是因为表单显示的图是分辨率与实际图的分辨率不一致造成的请问如何解决?
用gdi++解决吧
请问gdi++应用的例子及帮助有吗?谢谢
:*!*尀者 : 大米恨老鼠Clear*!*IPTC(Addbs(Sys(5)+Sys(2003))+&IMG_4570.JPG&)IPTC(&E:\Users\Administrator\Pictures\TV10B.png&).......( 19:34)嬀/color]老师喝酒了吧应该是26吧
:请问gdi++应用的例子及帮助有吗?谢谢( 21:17)嬀/color]想找就有,不想找没有。
I = 31 --& 宽 x 高? &宽 : &, Strextract(.GetDetailsOf(cFile, 31), Chr(0x3F), Chr(0x20)) ? &高 : &, Strextract(.GetDetailsOf(cFile, 31), &x &, Chr(0x3F))右击该图像对照文件属性
:I = 31 --& 宽 x 高? &宽 : &, Strextract(.GetDetailsOf(cFile, 31), Chr(0x3F), Chr(0x20)) ? &高 : &, Strextract(.GetDetailsOf(cFile, 31), &x &, Chr(0x3F))[图片].......
ClearIPTC(GetFile(&jpg&)) Procedure IPTC&&&&Lparameters tcPicFullPath &&&&oShell = Createobject(&Shell.Application&)&&&&oFolder = oShell.Namespace(Justpath(tcPicFullPath)) &&&&With oFolder &&&&&&&&For Each cFile In oFolder.Items&&&&&&&&&&&&If Upper(cFile.Name) && Upper(Justfname(tcPicFullPath))&&&&&&&&&&&&&&&&Loop&&&&&&&&&&&&Endif &&&&&&&&&&&&For i = 0 To 47&&&&&&&&&&&&&&&&* I = 31 时,是该图形文件的尺寸/分辨率&&&&&&&&&&&&&&&&? Transform(I) + &.& + .GetDetailsOf(oFolder.Items, I) + & : & + ;&&&&&&&&&&&&&&&&&&&&.GetDetailsOf(cFile, I)&&&&&&&&&&&&Endfor&&&&&&&&&&&&? &=================================&&&&&&&&&&&&&? &宽 : &, Strextract(.GetDetailsOf(cFile, 31), Chr(0x3F), Chr(0x20))&&&&&&&&&&&&? &高 : &, Strextract(.GetDetailsOf(cFile, 31), &x &, Chr(0x3F))&&&&&&&&Endfor&&&&Endwith [attachment=43303]
:ClearIPTC(GetFile(&jpg&))Procedure IPTC&&&&Lparameters tcPicFullPath....... :I = 31 --& 宽 x 高? &宽 : &, Strextract(.GetDetailsOf(cFile, 31), Chr(0x3F), Chr(0x20)) ? &高 : &, Strextract(.GetDetailsOf(cFile, 31), &x &, Chr(0x3F))[图片]....... [图片]
是不是版本问题
谢谢,试试
:老大好,有问题请帮助解决[图片]用高拍仪拍A4 纸获得的图片jpg文件分辨率为,然会在表单上显示(由于分辨率大显示不清晰,如果把分辨率调低也不清晰)我只是显示在表单上,然后用调整那个蓝色的框获得坐标,截取图像,himg=imgopen('_tmp.jpg')Im .. ( 20:10) 可否做成可缩放看图片
84 版本问题可能 SDTA 老师的 XP 设置文件属性为简易模式其实文件属性最大值可以到 287 : For I = 0 To 286有图为证[attachment=43305]
[attachment=43306]
:84 版本问题可能 SDTA 老师的 XP 设置文件属性为简易模式其实文件属性最大值可以到 287 : For I = 0 To 286有图为证.......( 10:58)嬀/color]请问百度老师,在什么地方设置
具体哪里设置我忘了查询分辨率用下面简单的代码吧*!*&&&&作者:老鼠猫咪恋爱了Img = Createobject(&WIA.ImageFile&)Img.LoadFile (Getpict())S = &宽度(像数) = & + Transform(Img.Width) + Chr(13) + ;&&&&&高度(像数) = & + Transform(Img.Height) + Chr(13) + ;&&&&&水平分辨率 = & + Transform(Img.HorizontalResolution) + Chr(13) + ;&&&&&垂直分辨率 = & + Transform(Img.VerticalResolution) + Chr(13)=Messagebox( S )
:具体哪里设置我忘了查询分辨率用下面简单的代码吧*!*&&&&作者:老鼠猫咪恋爱了....... [attachment=43307]
缺少 VBS 脚本那个克隆版的 XP 可以扔了这个没有那个错误今天呻吟明天尖叫搞开发的人系统一定不要是克隆版的或者家庭版的缺零件的系统怎么用
参考数码相机 EXIF 数据结构数码相片 EXIF 信息更改器可以查看厂商、品牌、拍摄地的 GPS一张相片有几百个元数据信息还没有完全翻译完[attachment=43308]
:缺少 VBS 脚本那个克隆版的 XP 可以扔了这个没有那个错误.......( 14:58)嬀/color]能不能给个纯净版的地址啊或者完整版的
什么给个纯净版的地址???XP 还是 Win 8???*!*&&&&作者:老鼠和大米吵架了*!*&&&&功能:减小图像文件的大小LOCAL img, IPImg = CreateObject(&WIA.ImageFile&) IP = CreateObject(&WIA.ImageProcess&) Img.LoadFile(Getpict(&JPG&)) IP.Filters.Add(IP.FilterInfos(&Scale&).FilterID)IP.Filters(1).Properties(&MaximumWidth&) = 100&&&& 减小宽度为:100IP.Filters(1).Properties(&MaximumHeight&) = 100&&&& 减小高度为:100Img = IP.Apply(Img) Delete File NewPic.jpgImg.SaveFile(&NewPic.jpg&)&&&& 建立新文件名
老大呀您真应该出本书,造福vfp粉丝
XP 多谢老师
楼上的 144 要找免费的 XP 下载地址???如果是在一个规范的单位上班还是去买正版的吧如果个人使用或者还是在创业初期自己度娘或狗狗一下街上找一个一元的钢镚不容易网上找 D 版的 XP......呵呵嗯哦
:楼上的 144 要找免费的 XP 下载地址???如果是在一个规范的单位上班还是去买正版的吧.......( 16:05)嬀/color]老师幽默不减当年,个人使用的。
:/( 19:30)嬀/color]多谢老师
*!*&&&&作者:老鼠的闺蜜萌萌哒 *!*&&&&功能:使用 GDI+ 函数获取图形的宽X高等信息ClearlcSource = Getpict()&&&& 支持:jpg, gif, png, bmp......格式Local loImage As GpImage Of ffc/_gdiplus.vcxloImage = Newobject(&GpImage&, Home() + &ffc/_gdiplus.vcx&)loImage.CreateFromFile(lcSource)lnWidth&&= loImage.ImageWidth&& && 宽度lnHeight = loImage.ImageHeight&&&& 高度lnHorRes = loImage.HorizontalResolution&&&& X分辨率lnVerRes = loImage.VerticalResolution&&&&&& Y分辨率lcPixelformat = GetPixFormatName(loImage.PixelFormat)&&&& 像素格式解析lcInfo = &相片宽高 : & + Transform(lnWidth) + & X & + ;&&&&Transform(lnHeight) + & 像素& + Chr(13) +;&&&&&像素格式 : & + lcPixelformat + Chr(13) +;&&&&&X分辨率 : & + Transform(lnHorRes) + & 像素/英寸& + Chr(13) + ;&&&&&Y分辨率 : & + Transform(lnVerRes) + & 像素/英寸&Wait Window lcInfo at 10, 10ReturnFunction GetPixFormatName(nPix As 0x0)*!*&&&&像素格式解析&&&&Do Case&&&&&&&&Case nPix = 0x&&&&&&&&&&&&Return &1bppIndexed&&&&&&&&&Case nPix = 0x&&&&&&&&&&&&Return &4bppIndexed&&&&&&&&&Case nPix = 0x&&&&&&&&&&&&Return &8bppIndexed&&&&&&&&&Case nPix = 0x&&&&&&&&&&&&Return &16bppGrayScale&&&&&&&&&Case nPix = 0x&&&&&&&&&&&&Return &16bppRGB555&&&&&&&&&Case nPix = 0x&&&&&&&&&&&&Return &16bppRGB565&&&&&&&&&Case nPix = 0x&&&&&&&&&&&&Return &16bppARGB1555&&&&&&&&&Case nPix = 0x&&&&&&&&&&&&Return &24bppRGB&&&&&&&&&Case nPix = 0x&&&&&&&&&&&&Return &32bppRGB&&&&&&&&&Case nPix = 0x0026200A&&&&&&&&&&&&Return &32bppARGB&&&&&&&&&Case nPix = 0x000E200B&&&&&&&&&&&&Return &32bppPARGB&&&&&&&&&Case nPix = 0x0010300C&&&&&&&&&&&&Return &48bppRGB&&&&&&&&&Case nPix = 0x001C400E&&&&&&&&&&&&Return &64bppPARGB&&&&&&&&&Otherwise&&&&&&&&&&&&Return &未能识别&&&&&Endcase
:*!*尀者:老鼠的闺蜜萌萌哒 *!*鼀能:使用 GDI+ 函数获取图形的宽X高等信息ClearlcSource = Getpict()&& 支持:jpg, gif, png, bmp......格式.......( 10:03)嬀/color]老师辛苦了送上一曲&夜来香&,但愿您喜欢
终于露馅了,一直以来,一直认为.......................
*!*&&&&作者:老鼠小姨爱打扮*!*&&&&功能:API 方式获取图像文件的宽X高信息Clear Declare Integer GdipLoadImageFromFile In GDIPlus.D&&&&STRING wFilename, Integer @ nImageDeclare Integer GdipGetImageWidth In GDIPlus.D&&&&INTEGER nImage, Integer @ nWidthDeclare Integer GdipGetImageHeight In GDIPlus.D&&&&INTEGER nImage, Integer @ nHeightcImageFile = Getpict()* Load Object PicturenPictHandle = 0GdipLoadImageFromFile(Strconv(m.cImageFile + Chr(0), 5), @m.nPictHandle)* Get Picture DimensionsnWValue = 0=GdipGetImageWidth(m.nPictHandle, @m.nWValue)nHValue = 0=GdipGetImageHeight(m.nPictHandle, @m.nHValue)? &宽度 : & + Transform(m.nWValue)? &高度 : & + Transform(m.nHValue)Clear Dlls
太精彩了。谢谢!
:*!*&&&&作者:老鼠的闺蜜萌萌哒 *!*&&&&功能:使用 GDI+ 函数获取图形的宽X高等信息ClearlcSource = Getpict()&&&& 支持:jpg, gif, png, bmp......格式.......
不错但是和c#比起来就麻烦的多c#可以直接从文件创建对象vfp在面向对象方面,还不是真正的面向对象c#代码(百度来的)Image pic=Image.FromFile(strFilePath);//strFilePath是该图片的绝对路径&&&&&&&&&&&&创建了一个对象int intWidth=pic.W//长度像素值&&&& 对象的属性int intHeight=pic.H//高度像素值&& 对象的属性
c#代码(百度来的)Image pic=Image.FromFile(strFilePath);//strFilePath是该图片的绝对路径&&&&&&&&&&&&创建了一个对象int intWidth=pic.W//长度像素值&&&& 对象的属性int intHeight=pic.H//高度像素值&& 对象的属性VFP 代码 :(来的)pic = Newobject(&Image&)pic.Picture = Getpict()&&&& 或者:strFilePath = &C\Demo.jpg&, strFilePath 是该图片的绝对路径? &宽度 : &, pic.Width&& && 长度像素值 / 对象的属性? &高度 : &, pic.Height&&&& 高度像素值 / 对象的属性如果到:下载一个:system.App 的 GDI Plus 封装类语法几乎和 C# 一样功能可能更强VFP 代码 :(来的)DO LOCFILE(&System.App&)pic = _Screen.System.Drawing.Bitmap.FromFile(strFilePath)&&&& strFilePath是该图片的绝对路径 / 创建了一个对象? &宽度 : &, pic.Width? &宽度 : &, pic.Height
老师您好除了这种方法外,VFP还有什么简单的方法修改图片的大小。
*!*&&&&*!*&&&&Clear#Define ERR_OPEN &打开文件错误.&#Define ERR_CLOSE &关闭文件错误.&#Define ERR_NOT_JPG &不是一个 JPEG 文件.&#Define ERR_MARKER_LENGTH &JPEG 标记的长度错误.&#Define ERR_EOF &前10000字节内没有发现图像尺寸的标记信息.&Error_Message = jpg_dimensions (Getfile(&jpg&))&&&& 仅支持 JPEG 文件格式If Type (&Error_Message&) = &C&&&&&? Error_MessageEndifFunction jpg_dimensions&&&&Lparameter cJPGFile&&&&cFF = Chr (255)&&&&cValid_Markers = ; &&&&&&Chr (192) + ; && SOF0&&0xC0&&N 帧开始&&&&Chr (193) + ; && SOF1&&0xC1&&N 表示压缩&&&&Chr (194) + ; && SOF2&&0xC2&&只有SOF0-SOF2是现在普遍使用的&&&&Chr (195) + ; && SOF3&&0xC3&&&&Chr (197) + ; && SOF5&&0xC5&&注:代码 C4 和 CC 不是 SOF 标记&&&&Chr (198) + ; && SOF6&&0xC6&&&&Chr (199) + ; && SOF7&&0xC7&&&&Chr (201) + ; && SOF9&&0xC9&&&&Chr (202) + ; && SOF10 0xCA&&&&Chr (203) + ; && SOF11 0xCB&&&&Chr (205) + ; && SOF13 0xCD&&&&Chr (206) + ; && SOF14 0xCE&&&&Chr (207)&&&& && SOF15 0xCF&&&&nFileHandle = Fopen (cJPGFile, 0)&&&& 只读方式打开文件, BUFFERED (0)&&&&If nFileHandle = -1&&&& 检查是否可以打开文件&&&&&&&&Return ERR_OPEN&&&&Endif&&&&* 读文件&&&&cJPGHeader = Fread (nFileHandle, 10000) && 读文件的前 10000 字节&&&&If ! Fclose (nFileHandle) && 检查是否可以关闭文件&&&&&&&&Return ERR_CLOSE&&&&Endif&&&&nJPGHeader_Length = Len (cJPGHeader)&&&&* 检查是否是一个 JPG 格式的文件&&&&If DWord (1) # 65496&&&&&&&&Return ERR_NOT_JPG&&&&Endif&&&&nCounter = 3&&&&* 循环寻找有效的标记&&&&Do While Check_Counter ()&&&&&&&&* 查找 0xFF 字节,计数和跳过任何非 FFs&&&&&&&&Do While Check_Counter () And Substr (cJPGHeader, nCounter, 1) # cFF&&&&&&&&&&&&nCounter = nCounter + 1&&&&&&&&Enddo&&&&&&&&* 获取有标记代码的字节处,过滤任何重复 的FF 字节处&&&&&&&&* Extra FFs are legal as pad bytes.&&&&&&&&Do While Check_Counter () And Substr (cJPGHeader, nCounter, 1) = cFF&&&&&&&&&&&&nCounter = nCounter + 1&&&&&&&&Enddo&&&&&&&&* 找到有效的标记后退出循环并显示结果&&&&&&&&If Substr (cJPGHeader, nCounter, 1) $ cValid_Markers&&&&&&&&&&&&Exit&&&&&&&&Endif&&&&&&&&* 计算新的位置和跳到下一个标记处&&&&&&&&Marker_Length = DWord (nCounter + 1)&&&&&&&&If Marker_Length & 2&&&&&&&&&&&&Return ERR_MARKER_LENGTH&&&&&&&&Endif&&&&&&&&nCounter = nCounter + Marker_Length&&&&Enddo&&&&* 显示结果&&&&If nCounter + 7 & nJPGHeader_Length&&&&&&&&? &文件 : & + cJPGFile&&&&&&&&nCounter = nCounter + 4&&&&&&&&? &高度 : & + Transform(DWord(nCounter)) + &像数&&&&&&&&&nCounter = nCounter + 2&&&&&&&&? &宽度 : & + Transform(DWord(nCounter)) + &像数&&&&&Else&&&&&&&&Return ERR_EOF&&&&EndifFunction DWord&&&&Lparameters lnPosition&&&&Return 256 * Asc (Substr (cJPGHeader, lnPosition, 1)) + ;&&&&&&&&ASC (Substr (cJPGHeader, lnPosition + 1, 1))Function Check_Counter&&&&Return nCounter + 7 & nJPGHeader_Length
目前还不知道VFP还有什么简单的方法修改图片的大小现在的思路还处在显示图像的分辨率的代码上
我测试了api的取颜色方法,怎么会取出来的RGB值会有65535呢
?RGB(255,255,0)
用户被禁言,该主题自动屏蔽!
老中医,出手,不同凡响。
查看完整版本: [--
Powered by
Time 0.109805 second(s),query:4 Gzip enabled小木虫 --- 500万硕博科研人员喜爱的学术科研平台
&&查看话题
怎么提高图的分辨率
修改意见回来了,指出要提高分辨率,我的图都是最初从仪器里考到word,然后粘到画图里,然后存成tiff或粘到photoshop里存成eps文件的,怎么办呢?
研究生必备与500万研究生在线互动!
扫描下载送金币
浏览器进程
打开微信扫一扫
随时随地聊科研

参考资料

 

随机推荐