精华内容
下载资源
问答
  • 同样样式的字体,显示的时候字体大小有的不一样,有的个别字体还会有向下错一点的感觉
  • 【开发环境】 开发系统:Windows 10 开发平台:.Net Framework 4.6.1 开发语言:C# 开发工具:Visual Studio Community 2017,版本 15.9.17 ...初始化文件夹,如果文件夹存在,那么先创建文件夹 创建固定高...

    【开发环境】

    开发系统:Windows 10

    开发平台:.Net Framework 4.6.1

    开发语言:C#

    开发工具:Visual Studio Community 2017,版本 15.9.17

    文章作用:记录、备忘、总结、分享、理解

    相互学习:微信号-xgwkf566

    人生格言:勤能补拙

     

    【主要功能】

    • 初始化文件夹,如果文件夹不存在,那么先创建文件夹
    • 创建固定高宽度图片,同时设置自定义十六进制颜色背景图片
    • 创建指定路径下的图片
    • 文字叠加在对应图片里,指定相同大小的字体和字体类型
    • 同一字体,不同的水平垂直分辨率,相同字体大小的文本叠加在相同高宽度的图片上,字体大小不一样

     

    【分辨率不同,输出效果】

    • 代码
    [HttpPost]
    public JsonResult CreateImageTextTest_()
    {
        try
        {
            //-----公共部分-----
            string rootPath = Server.MapPath("~");
            string folderPath = "/TempImage/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
            string saveFolderPath = rootPath + folderPath;
            string newFileName = Guid.NewGuid().ToString() + ".jpg";
            string allPath = folderPath + folderPath + newFileName;
            string usePath = folderPath + newFileName;
    
            if (!string.IsNullOrEmpty(saveFolderPath))
            {
                //如果不存在就创建file文件夹
                if (Directory.Exists(saveFolderPath) == false)
                {
                    Directory.CreateDirectory(saveFolderPath);
                }
            }
    
            int fontSize = 16;
            string fontFamily = "华文行楷";
            //-----/公共部分-----
    
            if (true)
            {
                newFileName = Guid.NewGuid().ToString() + ".jpg";
                allPath = saveFolderPath + newFileName;
    
                //创建高宽度420x500蓝色背景图片,以及获取字体在图片绘图里的大小
                int backgroundWidth = 500;
                int backgroundHeight = 420;
                Bitmap bitmap = new Bitmap(backgroundWidth, backgroundHeight);
                bitmap.SetResolution(300, 300);
                Image backgroundImageCreate = bitmap;
                Graphics graphicsBackgroundImageCreate = Graphics.FromImage(backgroundImageCreate); //
                graphicsBackgroundImageCreate.FillRectangle(new SolidBrush(TenSixColor("#099dff")), new Rectangle(0, 0, backgroundWidth, backgroundHeight));
    
    
                SizeF size = graphicsBackgroundImageCreate.MeasureString("测试内容test123内容", new Font(fontFamily, fontSize, System.Drawing.FontStyle.Regular));
    
                float x = (backgroundImageCreate.Width - size.Width) / 2;
                float y = 30 + size.Height;
    
                using (Graphics g = Graphics.FromImage(backgroundImageCreate))
                {
                    g.SmoothingMode = SmoothingMode.AntiAlias; //使绘图质量最高,即消除锯齿
                    using (Font f = new Font(fontFamily, fontSize, System.Drawing.FontStyle.Regular))
                    {
                        using (Brush b = new SolidBrush(TenSixColor("#555")))
                        {
                            g.DrawString("测试内容test123内容", f, b, x, y);
                        }
                    }
                }
    
                backgroundImageCreate.Save(allPath);
            }
    
    
            if (true)
            {
                newFileName = Guid.NewGuid().ToString() + ".jpg";
                allPath = saveFolderPath + newFileName;
    
                //加载一张背景图片
                Image backgroundImage = new Bitmap(Server.MapPath("/Content/image/bg3.png"));
                Graphics graphicsBackgroundImage = Graphics.FromImage(backgroundImage);
    
                SizeF size = graphicsBackgroundImage.MeasureString("测试内容test123内容", new Font(fontFamily, fontSize, System.Drawing.FontStyle.Regular));
    
                float x = (backgroundImage.Width - size.Width) / 2;
                float y = 30 + size.Height;
    
                using (Graphics g = Graphics.FromImage(backgroundImage))
                {
                    g.SmoothingMode = SmoothingMode.AntiAlias; //使绘图质量最高,即消除锯齿
                    using (Font f = new Font(fontFamily, fontSize, System.Drawing.FontStyle.Regular))
                    {
                        using (Brush b = new SolidBrush(TenSixColor("#555")))
                        {
                            g.DrawString("测试内容test123内容", f, b, x, y);
                        }
                    }
                }
    
                backgroundImage.Save(allPath);
            }
    
            r.c = 200;
            r.m = "获取成功!";
            r.d = ConfigurationManager.AppSettings["commfileurl"].ToString() + usePath; //返回图片路径
        }
        catch (Exception ex)
        {
            CommonData.ErrorLog(ex);
        }
    
        return Json(r);
    }
    
    //获取十六进制颜色
    private Color TenSixColor(string color)
    {
        return System.Drawing.ColorTranslator.FromHtml(color);
    }

    效果

    2、那么设置相同的分辨率,是不是就一样了呢,测试效果如下

     

    由以上测试可得,确实是分辨率不同的原因

     

     

    【一句话一感想一心情】版本更新,增加测颜值推荐图文,来体验下句子的魅力

    展开全文
  • 使用qlabel给Qwidget做标题,在分辨率为1920*...同样的显示器不同宽度的屏幕字体大小显示不一样造成标题没有居中。因字体和内容都是在qt设计师上设定的,qt设计师设定的字体是根据point(磅)大小来显示而不是像素大小

    使用qlabel给Qwidget做标题,在分辨率为1920*1080的笔记本显示器上看到label标题在窗口中居中,换了一台分辨率也是1920*1080但更宽和更大的台式机显示器后,此label上的标题在窗口中变得偏左且字体看起来小。同样的显示器不同宽度的屏幕字体大小显示不一样造成标题没有居中。因字体和内容都是在qt设计师上设定的,qt设计师设定的字体是根据point(磅)大小来显示而不是像素大小显示,即获取字体大小的函数是PointSize(),而不是Pixsize()。网上说根据像素大小显示的字体在相同分辨率下显示行为是一样,但是根据point大小显示的字体, 规定了实际中我们肉眼看到的字体的大小 他和pixel无关的~ 他和显示器无关  不管在什么样上的显示器上 规定大小是多少就是多少。因此如果要使字体与显示器相关,则必须将字体改为按像素大小设置。根据此处计算方法,http://blog.csdn.net/liuqz2009/article/details/7208931

    先获取pointsize大小,再转换为像素大小。

    int pointsize = m_font.pointSize();
    m_font.setPixelSize(pointsize*90/72); //设置字体大小单位为像素大小,而不是以磅为单位


    如何决定字体是按pointsize大小还是按pixsize大小?

    函数PointSize()的返回值为如果字体是以SetPointSize()设置的,则返回具体的pointsize,否则返回-1. pixsize也是如此,因此判断下是否返回-1即可知道是哪个方式设置。


    改了像素大小后,标题依然没有居中。后面各种方法尝试都不行。后面突然想到一法,将label的宽度设置为与窗口大小一样的宽度,再设置label的内容为居中setAlignment(Qt::AlignHCenter),如此则放到不同的显示器,能够自动适应窗口大小。至此解决了标题不居中问题。特此记录一下。

    展开全文
  • 首先设置标题字体效果为“小型大写字母”,注意字体为“MS MIincho”,然后首字母用键盘大写字母打,非首字母用键盘小写字母打,出来就是这样效果。

    首先设置标题字体效果为“小型大写字母”,注意字体为“MS MIincho”,然后首字母用键盘的大写字母打,非首字母用键盘的小写字母打,出来就是这样的效果。

    展开全文
  • Android 屏幕适配一直是个难以解决问题,并没有万全之策。最好办法是用代码进行适配。接下来介绍关于文字适配问题: 有些时候在某些机器上文字恰好能容得下,如图,...于是同样大小(sp)文字显示在不同设备上

    Android 屏幕适配一直是个难以解决的问题,并没有万全之策。最好的办法是用代码进行适配。接下来介绍关于文字适配的问题:

    有些时候在某些机器上文字恰好能容得下,如图,但是在某些机器上面,情况就不一样:可以看到,该TextView的最后几个字“星期四”无法显示完整。再比如:2016-11-15被显示成了2行。

    主要由于屏幕密度density不一样导致。于是同样大小(sp)的文字显示在不同设备上会出现1容纳不下的情况。

    为解决这一问题。于是我就做了一个可自动调节textSize的TextView.

    代码如下:

    /**
     * TextView能自动调节大小使文本行数始终保持1行。
     */
    public class AdaptionSizeTextView extends TextView implements ViewTreeObserver.OnGlobalLayoutListener {
    
        public AdaptionSizeTextView(Context context) {
            this(context, null);
        }
    
        public AdaptionSizeTextView(Context context, AttributeSet attrs) {
            this(context, attrs, 0);
        }
    
        public AdaptionSizeTextView(Context context, AttributeSet attrs, int defStyleAttr) {
            super(context, attrs, defStyleAttr);
            //第一步:给TextVIew添加布局改变监听,以便当调用setText方法时收到通知
            getViewTreeObserver().addOnGlobalLayoutListener(this);
        }
    
        @Override
        public void onGlobalLayout() {
            //当外部调用setText(String text)方法时回调
            int lineCount = getLineCount();//获取当前行数
            if (lineCount > 1) {//如果当前行数大于1            float textSize = getTextSize();//获得的是px单位
                textSize--;//size-1            setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);//重新设置大小,该方法会立即触发onGlobalLayout()方法。这里相当于递归调用,直至文本行数小于1行为止。
            }
        }
    }

    使用时直接在布局文件中把TextView换成AdaptionSizeTextView即可。

    展开全文
  • 主题那里选择darcula(还有别主题,不一样的界面感觉,都可以试试玩玩),设置该界面后会重启intelij,选择“是”,然后界面改变,设置成功,如图 2、如何设置代码字体大小 同样打开settings,选择edit
  • 在不同浏览器中占位大小不统一的问题: ...来表示空格,在不同浏览器中的占位大小是不一样的.因为不同浏览器默认的字体是不一样的,不同字体下的空格表示&...指定使用同样的字体就能让 显示同样的占位了.  经过测试
  • 在使用qml进行编码的时候发现,同样的窗口,设置的窗口大小也是一样的,但是显示的不一样。举一个例子: 使用qml创建窗口以及字体: Window { visible: true width: 1024 height: 768 Label { text: "...
  • Tahoma 英文字体, 在一个PDA程序里, 本win CE 英文系统下开发的, 字体用的是: ...后来调试了好久, 发现同样的字体在中文系统下是: Tahoma。 用以下的代码创建字体即可 if (0x0804 == GetSystemDefaultLan
  • jmeter界面字体修改

    2019-09-28 11:06:32
    实际应用中发现,同样是win10系统,显示器屏幕尺寸大小不同,jmeter界面字体展示也不一样,标准屏幕还可以,大屏幕下不能自动适应屏幕大小放大而且还变更小。在查询解决方法时,发现有朋友出现类似情况是操作系统...
  • java为每个按钮设置一样的大小,颜色,字体,等等觉太麻烦能能写成一个方法每次调用就可以将这些都设置好
  • 显示的字体大小有个缓变过程 结束放大缩小后 是一直变化的 还有可以拖动 最好有那种 可以点击图标 然后就像画图工具一样 生成一个同样的图标 然后可以拖动 而且坐标信息是存入数据库的 求大神解答 ,能解决多少...
  • 同样,我们在微信小程序项目开发过程中,也可避免需要使用到字体图标,毕竟微信小程序那2M代码包大小的限制,还是挺让人隐隐作痛。 对此,微信官方文章里也有优化说明: 1. 精简代码,去掉不必要WXML...
  • &.nbsp;在IE和谷歌浏览器中不兼容的解决办法 ...来表示空格,在不同浏览器中的占位大小不一样的. ...为什么呢,因为不同浏览器...指定使用同样的字体就能让 显示同样的占位了. 经过测试,当指定Times New R
  • 不同系统设置所处位置不一样,设置内容相同。 一、截图分辨率变小 1)桌面右键,选择“显示设置”; WIN10显示设置 2)将“缩放与布局”中,“更改文本、应用等项目的大小”调整为100%,问题解决。 二、应用...
  • IE浏览器兼容问题困扰多时,由于IE6不在进行修补,IE6考虑也越来越少,有些IE遇到不兼容...2字体大小同样是font-size:14px;在IE6中显示不一样,解决方法:行高 3一个通用div居中方法*{margin:0;padding:0...
  • 这个在各个浏览器上都基 本没有什么大问题,但是在很多细节上firefox和ie处理的很不一样,这就需要在布局时注意的,如果是div+css布局,就不一样了,这里举一例:文字本身大小不兼容,同样是宋体14px的字体,在ie下...
  • P20-前端基础-CSS单位

    2021-01-18 14:43:38
    所以同样的200px在不同的设备下显示效果不一样 百分比 也可以将属性值设置为相对于其父元素属性的百分比 设置百分比可以使子元素跟随父元素的改变而改变 em em是相对于元素的字体大小来计算的 1em = 1font-size ...
  • 安卓XML布局中,常用单位区别~

    千次阅读 2016-03-31 09:52:17
    px是指定像素,不同分辨率下看到的大小不一样;dp和dip是指定尺寸,不同分辨率下看到的大小相同,且字体大小固定,不会随系统的字体设置变化;sp是字体大小专用的单位,与dp同样,不同分辨率屏幕卡到的大小相同,...
  • 对于一个网站来说,用户体验会涉及到很多方面,包括页面布局是否合理、导航视图是否清晰、加载速度是否够快、乃至按钮或字体的大小,等等诸多方面。 用户体验是使用者主观感受,通俗来说就是“你这玩意儿用起来方...
  • 对于一个网站来说,用户体验会涉及到很多方面,包括页面布局是否合理、导航视图是否清晰、加载速度是否够快、乃至按钮或字体的大小,等等诸多方面。 用户体验是使用者主观感受,通俗来说就是“你这玩意儿用起来方...
  • 对于一个网站来说,用户体验会涉及到很多方面,包括页面布局是否合理、导航视图是否清晰、加载速度是否够快、乃至按钮或字体的大小,等等诸多方面。 用户体验是使用者主观感受,通俗来说就是“你这玩意儿用起来方...

空空如也

空空如也

1 2 3 4 5
收藏数 93
精华内容 37
关键字:

同样的字体大小不一样