首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    DrawText

    如果正文有多行,DrawText使用lpRect定义的矩形的 宽度,并扩展矩形的底训以容纳正文的最后一行,如果正文只有一行,则DrawText改变矩形 的右边界,以容纳下正文行的最后一个字符,上述任何一种情况 ,DrawText返回格式化正文 的高度而不是写正文。    DT_NOCLIP:无裁剪绘制当DT_NOCLIP使用时DrawText的使用会有所加快。    备注:函数DrawText用设备环境中的字体选择、正文颜色和背景颜色来写正文,除非DT_NOCLIP被使用, DrawText裁剪正文,所以它不会出现在指定矩形的外面,除DT_SINGLELINE 如果选择的字体对指定的矩形而言太大,DrawText不会试图去换成一种小字体。   

    1K20编辑于 2022-09-20
  • 来自专栏mini188

    学习笔记 :DrawText

    2、使用DrawText   DrawText的函数定义: 函数原型 int DrawText( HDC hDC, // 设备描述表句柄 LPCTSTR lpString, // 将要绘制的字符串 如果nCount为-1,则lpString指向的字符串被认为是以\0结束的,DrawText会自动计算字符数。 如果输出文本有多行,DrawText函数使用lpRect定义的矩形的宽度,并扩展矩形的底部以容纳输出文本的最后一行。 如果输出文本只有一行,则DrawText函数改变矩形的右边界,以容纳下正文行的最后一个字符。出现上述任何一种情况,DrawText函数将返回格式化文本的高度,而不是绘制文本。 同时DrawText运算后也会有函数返回值的,就是文本实际的高度。

    1.3K50发布于 2018-01-12
  • 来自专栏韩曙亮的移动开发专栏

    【FFmpeg】Filter 过滤器 ③ ( 文字水印 - drawtext 过滤器 | drawtext 过滤器支持库编译配置 | drawtext 过滤器常用参数 )

    文章目录 一、文字水印 - drawtext 过滤器 1、drawtext 过滤器简介 2、drawtext 过滤器支持库 3、编译 FFmpeg 源码时启用 drawtext 过滤器配置 二、drawtext 过滤器 1、drawtext 过滤器简介 drawtext 过滤器 是 FFmpeg 中的一个 视频过滤器 , 用于 在 视频画面帧 上绘制文本 , 也就是添加文字水印 , 也可用于添加 标题 , 字幕 : drawtext 过滤器 可以 使用 时间戳 显示 动态变化 的时间信息 , 如 : 在视频上显示从 视频开始 到 当前时间 的经过时间 ; 多语言支持 : 使用 drawtext 过滤器 可以 在视频中添加 包括 中文 的 多种语言的文本 ; drawtext 过滤器 文档 : https://ffmpeg.org/ffmpeg-filters.html#drawtext-1 , drawtext 过滤器 在上述文档的 " 11.78 章节 绘制文本 " 章节 ; 2、drawtext 过滤器支持库 使用 drawtext 过滤器 的 前提是 : 已经 安装 FFmpeg 命令行工具 ; 安装的

    3.1K10编辑于 2024-05-14
  • 来自专栏Android干货

    自定义控件详解(七):drawText()

    类型 paint.setStrokeWidth(1); // 画笔线条宽度 paint.setTextSize(60); // 绘制文本大小 // 绘制内容 canvas.drawText paint.setStrokeWidth(1); paint.setTextSize(60); int baseLine = 100 ;// 基线的Y坐标 canvas.drawText 扩展: drawtext除了基线还有另外4条线,称为4格线。 bottom , 1000 , bottom ,paint); //写文字 paint.setColor(Color.BLACK); canvas.drawText

    83030发布于 2018-06-08
  • 来自专栏Dotnet9

    WPF 水印装饰器

    2.0; //第1排3个 point = RotatePoint(0.5, 0.5, n, rt, rect, margin); DrawText ); //第2排2个 point = RotatePoint(1.5, 1.5, n, rt, rect, margin); DrawText ); //第3排3个 point = RotatePoint(0.5, 2.5, n, rt, rect, margin); DrawText ); //第4排2个 point = RotatePoint(1.5, 3.5, n, rt, rect, margin); DrawText (point.X, point.Y, halfWidth, drawingContext, _watermarkText); } private void DrawText

    67710发布于 2021-12-01
  • 来自专栏卓越笔记

    通达信电脑版(windows)主图添加地域、行业、概念、风格等信息步骤

    ”就 ok 了 代码如下: {均线代码,5,10,20,60 的} M5:MA(C,5); M10:MA(C,10); M20:MA(C,20); M60:MA(C,60); {显示基本信息} {DRAWTEXT_FIX HYBLOCK); 所属概念:=STRCAT('概念:',GNBLOCK); 所属风格:=STRCAT('风格:',FGBLOCK); 主营业务:=STRCAT('主营:',EXTERNSTR(0,2)); DRAWTEXT_FIX (ISLASTBAR,0.01,0.01,0,所属概念),COLORYELLOW; DRAWTEXT_FIX(ISLASTBAR,0.01,0.05,0,所属风格),COLORLIGREEN; DRAWTEXT_FIX (ISLASTBAR,0.01,0.10,0,所属地域),COLORYELLOW; DRAWTEXT_FIX(ISLASTBAR,0.01,0.15,0,所属行业),COLORLIGREEN; {DRAWTEXT_FIX

    9.9K21编辑于 2023-02-18
  • 来自专栏Linux驱动

    53.Qt-QPdfWriter绘制PDF,支持表单输出

    +) { int x= horzBorder; for(int j=0;j<column;j++) { paint->drawText (); //在10%的头部居中显示 int y=10; pPainter->setFont(font[0]); pPainter->drawText 器件编号: %1").arg(info.devNum)); y+=90; pPainter->setFont(font[2]); pPainter->drawText %1").arg(info.checkDate)); y+=110; pPainter->setFont(font[1]); pPainter->drawText y,0,2,7,100,font[3],list); y+=260; pPainter->setFont(font[1]); pPainter->drawText

    3.6K30发布于 2020-04-08
  • 来自专栏HenCoder

    HenCoder Android 开发进阶:自定义 View 1-3 文字的绘制

    1.1 drawText(String text, float x, float y, Paint paint) drawText() 是 Canvas 最基本的绘制文字的方法:给出文字的内容和位置, 除了 drawText(text, x, y, paint) 之外, drawText() 还有几个重载方法,使用方式跟这个都差不多,我就不说了,你自己看吧。 Canvas.drawText() 只能绘制单行的文字,而不能换行。 canvas.drawText(text, 50, 100, paint); 在换行符 \n 的位置并没有换行,而只是加了个空格 如果需要绘制多行的文字,你必须自行把文字切断后分多次使用 drawText paint.setTextSize(18); canvas.drawText(text, 100, 25, paint); paint.setTextSize(36); canvas.drawText(

    1.5K20发布于 2018-08-20
  • 来自专栏Python编程 pyqt matplotlib

    PyQt5 文档打印

    painter.drawText(x, y, "London") y += sansLineHeight painter.drawText (x, y, "WC13 4PX") y += sansLineHeight painter.drawText(x, y, painter.drawText(x, y, text) painter.setPen(Qt.black) y += int(serifLineHeight * 1.5) painter.drawText(x, y, "Transactions:") y += serifLineHeight (x, y, "Yours sincerely") y += serifLineHeight * 3 painter.drawText(x, y, "K.

    1.6K40发布于 2019-08-14
  • 来自专栏李蔚蓬的专栏

    java.lang.IndexOutOfBoundsException and drawPosText

    . */ public class DrawText_DrawPosText extends View{ private Paint mTextPaint; private float [] offset = new float[10]; public DrawText_DrawPosText(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public DrawText_DrawPosText (Context context, AttributeSet attrs) { super(context, attrs); } public DrawText_DrawPosText protected void onDraw(Canvas canvas) { super.onDraw(canvas); initView(); canvas.drawText

    72020发布于 2018-09-13
  • 来自专栏Jack的Android之旅

    模仿QQ运动item的界面

    (rankingLeft,-halfNum-(mNumRect.right- mNumRect.left)/2-20,radius,mTextPaint); canvas.drawText(getContext (Calendar.DAY_OF_MONTH)+""); mTextPaint.getTextBounds(number,0,number.length(),rect); canvas.drawText ).getString(R.string.check); mTextPaint.getTextBounds(look,0,look.length(),mNameRect); canvas.drawText (rankingLeft,-halfNum-(mNumRect.right-mNumRect.left)/2-20,radius,mTextPaint); canvas.drawText(getContext (Calendar.DAY_OF_MONTH)+""); mTextPaint.getTextBounds(number,0,number.length(),rect); canvas.drawText

    1.2K30发布于 2018-08-28
  • 来自专栏刘晓杰

    记一次自定义View的优化

    mWidth + mPaint.measureText(mText)) * mFraction val y = mStartY.toFloat() canvas.drawText 2 4.6 onDraw里面,很明显 self 里面的计算占了 2% 左右,其实可以优化. measureText 可以放到外面 canvas.drawText mWidth - (mWidth + mTxtWidth) * mFraction val y = mStartY.toFloat() canvas.drawText (mText, x, y, mPaint) } } 如上修改以后, self 降到 1% 左右,.同时 children 也降到 3% 左右(可见 canvas.drawText 但是从需求的角度还是有优化的空间的 这个自定义View的功能就是跑马灯,就是让文字随着时间走.那么就可以想到两种解决方案 (1)画布移动 canvas.translate 这个方案的问题就是 translate 之后还是要 drawText

    70830发布于 2021-02-04
  • 来自专栏Android知识点总结

    看得见的数据结构Android版之开篇前言

    ("0",Cons.BOX_WIDTH / 2, 3 * 10, mDataPaint); canvas.drawText("toly", 0 + Cons.BOX_WIDTH ("0", Cons.BOX_WIDTH / 2, 3 * 10, mDataPaint); canvas.drawText("toly", 0 + Cons.BOX_WIDTH (Cons.ARROW_DX, Cons.ARROW_DX); canvas.drawPath(mPath, mPathPaint); //绘制文字没什么好说的 canvas.drawText = 150;//子圆心偏移Y canvas.drawCircle(0 - offsetX, 0 + offsetY, Cons.BST_RADIUS, mPaint); canvas.drawText offsetY, mDataPaint); canvas.drawCircle(offsetX, offsetY, Cons.BST_RADIUS, mPaint); canvas.drawText

    51020发布于 2018-12-14
  • 来自专栏木溪知识加油站

    TextView、AppCompatTextView文字段落居中文末补缺对齐

    drawScaledText(canvas, lineStart, line, width); } else { canvas.drawText (line, 0, mLineY, paint); } } else { canvas.drawText(line if (isFirstLineOfParagraph(lineStart, line)) { String blanks = " "; canvas.drawText 2); float cw = StaticLayout.getDesiredWidth(substring, getPaint()); canvas.drawText line.charAt(i)); float cw = StaticLayout.getDesiredWidth(c, getPaint()); canvas.drawText

    2.3K20发布于 2018-12-27
  • 来自专栏Android干货

    自定义控件详解(六):Paint 画笔MaskFilter过滤

    new BlurMaskFilter(4f,BlurMaskFilter.Blur.NORMAL); paint.setMaskFilter(bmf); canvas.drawText new BlurMaskFilter(4f,BlurMaskFilter.Blur.OUTER); paint.setMaskFilter(bmf); canvas.drawText new BlurMaskFilter(4f,BlurMaskFilter.Blur.INNER); paint.setMaskFilter(bmf); canvas.drawText new BlurMaskFilter(4f,BlurMaskFilter.Blur.SOLID); paint.setMaskFilter(bmf); canvas.drawText //画笔粗细 paint.setMaskFilter(emboss); paint.setMaskFilter(emboss); canvas.drawText

    1.4K30发布于 2018-06-08
  • 来自专栏Android知识分享

    Android 自定义View实战系列 :时间轴

    ("13:40", Text_x, Text_y, mPaint1); c.drawText("2017.4.03", Text_x + 5, Text_y + ("17:33", Text_x, Text_y, mPaint1); c.drawText("2017.4.03", Text_x + 5, Text_y + ("20:13", Text_x, Text_y, mPaint1); c.drawText("2017.4.03", Text_x + 5, Text_y + ("11:40", Text_x, Text_y, mPaint1); c.drawText("2017.4.04", Text_x + 5, Text_y + ("13:20", Text_x, Text_y, mPaint1); c.drawText("2017.4.04", Text_x + 5, Text_y +

    1.9K30发布于 2019-02-22
  • 来自专栏梁康的专栏

    Android 在任意位置绘制文本

    如果直接继承View,onDraw时使用Canvas#drawText实现文本绘制,省去TextView的大量额外计算,效率则会提升很多。 Canvas#drawText的原型如下:public void drawText(@NonNull String text, float x, float y, @NonNull Paint paint 首先通过如下实例代码来观察文本位置和(x,y)坐标的关系:String text = "afp8";canvas.drawText(text, x, y, paint);// 画两条垂直相交的直线直观地展示点 x, y, paint);drawVerticalLine(canvas, x, Color.BLUE);paint.setTextAlign(Paint.Align.CENTER);canvas.drawText 总结使用Canvas#drawText进行文本绘制时,参考点(x,y)的x坐标根据画笔的对齐方式而定,可以通过Paint#setTextAlign设置左、中、右对齐。而y坐标是基线的y坐标。

    3.1K11编辑于 2022-10-19
  • 来自专栏Android先生

    android自定义view(自定义数字键盘)

    ("1", xs[0], ys[0], mPaint); canvas.drawText("2", xs[1], ys[0], mPaint); canvas.drawText("3", xs[2], ys[0], mPaint); //第二排 canvas.drawText("4", xs[0], ys[1], mPaint); canvas.drawText( "5", xs[1], ys[1], mPaint); canvas.drawText("6", xs[2], ys[1], mPaint); //第三排 canvas.drawText ("7", xs[0], ys[2], mPaint); canvas.drawText("8", xs[1], ys[2], mPaint); canvas.drawText("9", xs[2], ys[2], mPaint); //第四排 canvas.drawText("

    1.5K20发布于 2018-08-07
  • 来自专栏Android知识分享

    Android自定义View实战 :如何优雅实现一个时间轴显示控件?

    ("13:40", Text_x, Text_y, mPaint1); c.drawText("2017.4.03", Text_x + 5, Text_y + ("17:33", Text_x, Text_y, mPaint1); c.drawText("2017.4.03", Text_x + 5, Text_y + ("20:13", Text_x, Text_y, mPaint1); c.drawText("2017.4.03", Text_x + 5, Text_y + ("11:40", Text_x, Text_y, mPaint1); c.drawText("2017.4.04", Text_x + 5, Text_y + ("13:20", Text_x, Text_y, mPaint1); c.drawText("2017.4.04", Text_x + 5, Text_y +

    2.1K20编辑于 2022-03-25
  • 来自专栏向治洪

    android 股票K线图

    highPrice);   int textHeight = (int) (textGrayPaint.descent() - textGrayPaint.ascent());           mCanvas.drawText path.lineTo(right,y);                   text = getPriceText(highPrice - i*sper);                   mCanvas.drawText );               text = getPriceText(highPrice - (highPrice - lowPrice) / 2);               mCanvas.drawText left, y);           path.lineTo(right, y);           text = getPriceText(lowPrice);           mCanvas.drawText int textHeight = (int) (textGrayPaint.descent()- textGrayPaint.ascent());                   mCanvas.drawText

    4.1K50发布于 2018-02-01
领券