`

DPI 在做 RIA时的换算

阅读更多

    DPI  , Dot Per Inch的缩写。每英寸所打印的点数或线数,用来表示打印机打印分辨率。这是衡量打印机打印精度的主要参数之一。一般来说,该值越大,表明打印机的打印精度越高。

 

   DPI实际上就是描述单位英寸上的点数。在做个性化印刷的RIA应用中,可能需要用到DPI。 在flash中的Capabilities类中可以访问到客户端的屏幕DPI设置,但是一般你得到的都是72dpi,不管你怎么设置都没有用。

 

   在做RIA应用时,是怎么遇到遇到的DPI的呢?比如,数据库里需要用物理尺寸来描述一个产品的大小,供网站和生产同时使用,这时数据库里有这么一条记录,有一个图片他是 300mm X 250mm,它需要显示到一个flash的容器里面去,容器的大小是 450pix x 300pix 大小,这时要将这张图片完全等比例填满真个容器。

 

    pic 物理尺寸:

                 width :300mm ;

                 height: 250mm;

    container屏幕尺寸:

                width :450pix;

                height:300pix;

 

 

                var pWH:Number = 300/250;
                var cWH:Number = 450/300;
                if(pWH >= cWH) {
                    pic.width = 450;
                    pic.height = 450/pWH;
                }
                else {
                    pic.height = 300;
                    pic.width = 300*pWH;
                }

 

   这时,图片等比列填满容器时的 尺寸是 360pix X 300pix,而屏幕的DPI是96DPI也就是说,在用户的屏幕上

   1 inch 的长度 = 96pix =》 25.4 mm = 96pix

   所以这时图片的 物理宽度 300mm在屏幕上的长度是 360pix,由此可以计算出此时该图片的 DPI精度为:

   360/300*25.4 = 30.48DPI

   而它原来的DPI是: 25.4DPI

所以说,而一张图片在flash中显示时,它的精度本来就是屏幕的DPI,96,在换算成具体的物理尺寸时也是安屏幕的DPI来算的,比如这张原始大小为 300 X 250 pix的照片,在屏幕96DPI下放到数据库时的物理尺寸应该是

   25.4*300/96 mm

所以总结,一个具体的打印对象在一个已知的 D 的DPI环境中,它的DPI应该算:

    DPI = 实际 width (pix )/ 原始 width (pix) * D;

    物理尺寸 width (mm)= 25.4 /D *实际 width (pix ) ;

    显示尺寸 width(pix) = D / 25.4 * 物理 width (mm)

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    RIA服务

    当与RIA服务结合时,WCF提供了定义服务接口和实现这些服务的能力,这些服务可以在客户端的Silverlight应用中调用。这使得开发者可以在客户端进行部分业务逻辑处理,减少服务器的负载,同时保持客户端和服务器的数据...

    RiaServices(WCF RIA Services V1.0 for Silverlight 4 and Visual Studio 2010)

    WCF RIA Services simplifies the traditional n-tier application pattern by bringing together the ASP.NET and Silverlight platforms. RIA Services provides a pattern to write application logic that runs ...

    RiaServices.msi

    尽管Ria Services在2009年推出时是一个重要的里程碑,但随着技术的发展,它已逐渐被其他更现代的技术所取代,如单页应用(SPA)框架和API服务,如ASP.NET Core。然而,对于仍在维护使用Silverlight和Ria Services的...

    silverlight与WCF RIA Service数据库操作相关

    在银光(Silverlight)应用中,与WCF RIA Service结合进行数据库操作时,通常会涉及以下几个关键知识点: 1. **实体数据模型(Entity Data Model, EDM)**:这是ADO.NET的一项功能,用于构建一个应用程序的数据库...

    AJAX探秘与RIA深度挖掘

    5. **事件处理**:AJAX的进度可以通过事件来跟踪,例如onreadystatechange事件会在请求状态改变时触发,根据readyState和status属性判断请求是否成功。 **RIA深度挖掘** Rich Internet Applications(RIA)是指一...

    RIA.压缩包

    RIA,全称Rich Internet Application,中文可译为“富互联网应用程序”,是一种在互联网上提供高度交互性和丰富用户体验的应用程序模型。这种技术结合了桌面应用程序的交互性和网页应用程序的分布性,旨在提供比传统...

    wcf RIAServices帮助文档

    WCF(Windows Communication Foundation)RIAServices,全称为Relational Data Services,是微软推出的一种用于构建RIA(Rich Internet Applications)的框架,它简化了在Silverlight或WPF应用中与服务器端数据交互...

    RIA及技术与用户体验

    在RIA中,设计师需要考虑交互的流畅性、响应速度、视觉吸引力以及易用性等方面,确保用户在使用过程中感到舒适和高效。 **转换思维模式**进入RIA的世界意味着从传统的静态网页设计转向动态、交互式的应用设计。...

    Ajax,RIA与Web开发程序员教程代码示例(ch02)

    5. **Ajax与事件处理**:讨论如何结合Ajax与JavaScript事件,如按钮点击触发Ajax请求,或者在请求完成时执行某些操作。 6. **Ajax库的使用**:以jQuery为例,讲解其简化Ajax调用的方法,如$.ajax()、$.get()、$....

    RIA应用展示

    ria,全称Rich Internet Application,即富互联网应用,是指那些具有丰富用户界面和交互功能的网络应用程序,它们能够提供类似桌面应用的体验,但运行在浏览器环境中。RIA应用结合了客户端和服务端的技术,旨在提高...

    WCF RIA Service Silverlight 商业应用

    6. **离线支持**:Silverlight的离线存储能力使得应用在无网络时也能运行,一旦网络恢复,自动同步数据。 通过这个示例项目,开发者可以学习到如何利用WCF RIA Services和Silverlight构建可扩展、高性能的商业应用...

    ActionScript 3 RIA 参考指南!

    AIR提供了一个运行时环境,使这些应用能够在多种操作系统上运行,包括Windows、macOS和Linux。 ### 指南使用方法 1. **查找类:**所有类按照字母顺序排列,每个页面顶部显示了该页的字母范围。通过浏览目录,根据...

    RIA应用开发课程简介

    在RIA应用中,jQuery的使用至关重要,因为它使得开发者能够高效地编写代码,同时提高页面性能。本课程的jQuery部分将涵盖以下关键知识点: 1. **jQuery基础**:了解如何引入jQuery库,掌握选择器的基本用法,以及...

    RIA技术RIA技术RIA技术

    ria应用通常拥有高度互动的用户界面,能够实现在不刷新页面的情况下快速响应用户操作,同时还支持拖放、离线操作等功能,这些都极大地提升了用户在Web上的体验。 在ria技术中,Silverlight和Flex是两种常见的实现...

    UniEAP RIA V3.4参考手册

    UniEAP RIA V3.4参考手册

    silverlight4+mvvm+RIAService

    此压缩包提供的"silverlight4+mvvm+RIAService"学习Demo,涵盖了Silverlight开发的核心技术,对于初学者来说,是一个很好的实践平台,可以深入理解MVVM模式如何在Silverlight中工作,以及如何利用RIA Service进行...

    Ria4Java(ExtJs可视化)

    在ria4Java中,可视化开发指的是利用ExtJS库来设计和实现用户界面的过程。通过拖放工具、预览和配置选项,开发者可以快速构建UI,无需编写大量的HTML和CSS代码。此外,ria4Java可能还提供了与后端数据源的集成,使UI...

    WCF RIA Services+Mef+MVVM实现CRUD示例源码

    WCF RIA Services+Mef+MVVM实现CRUD示例源码 实现了雇员的增删改查,雇员表(Employee)和部门表(Department)、雇员类型表 (EmployeeType)有外键关联,并和字典表(DataDict)有字典关系 示例采用技术说明: 1、...

Global site tag (gtag.js) - Google Analytics