/dev/graphics/fb0是干嘛的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了/dev/graphics/fb0是干嘛的?相关的知识,希望对你有一定的参考价值。

看到一篇文章地址如上,想问下“dev/graphics/fb0”可以实现截屏吗?谢谢...

回复 3# 这应该没什么原理吧,/dev/graphics/fb0只是个图形设备文件而已,就是提供给应用层控制显存的接口而已。你把要画的东西写到这个设备文件中,显卡就帮你把它显示出来。 参考技术A 用framebuffer截屏,就是把当前framebuffer的内存dump成bitmap或者压缩成其他图片格式,android应该只能在手机上截屏,现在电脑端现在还没有什么控制软件 参考技术B 权限可以通过adb进入adbshell修改我现在用framebuffer画完回到java程序后,之前画的图不能保持,不知道哪位大虾有解决办法 参考技术C 回复 2# V哥V5,framebuffer截屏是什么原理?是在电脑端屏蔽手机屏幕还是在手机程序里直接截手机屏幕啊?有没有什么资料可推荐下呢?谢谢...

在 Graphics / Graphics2D 中选择文本

【中文标题】在 Graphics / Graphics2D 中选择文本【英文标题】:Selecting Text within Graphics / Graphics2D 【发布时间】:2013-07-19 00:24:02 【问题描述】:

使用 Graphics/Graphics2D 选择文本

在图形中渲染时如何使用鼠标从字符串中选择文本?

嘿,我正在为我用 JAVA 制作的软件开发 UI 控件。我正在使用 Graphics/Graphics2D 渲染所有内容,我需要一些帮助来解决我遇到的问题。我已经设置了文本框控件,以便您可以键入和退格文本。我遇到的下一个问题是能够选择此文本的部分内容。我不确定我应该从哪里开始处理这个问题。低一点,我会在我的控件上发布渲染代码,它正在输入代码。

渲染代码

@Override
public void render(Graphics g) 

    // Draw Fill
    Graphics2D g2 = (Graphics2D) g.create();
    if (isActive) 
        g2.setPaint(new GradientPaint(new Point(x, y), Colors.textboxActiveTop, new Point(x, y + h), Colors.textboxActiveBottom));
     else 
        g2.setPaint(new GradientPaint(new Point(x, y), Colors.textboxTop, new Point(x, y + h), Colors.textboxBottom));
    
    g2.fillRect(x, y, w, h);

    // Draw Text
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    if (isPassword) 
        int count = text.toString().length();
        for (int i = 0; i < text.toString().length(); i++) 
            g2.setColor(Colors.white50percent);
            g2.fillArc(x + (w / 2) + (i * 5) - ((count * 5) / 2), y + (h / 2), 4, 4, 0, 360);
            g2.setColor(foreColor);
            g2.fillArc(x + (w / 2) + (i * 5) - ((count * 5) / 2), y + (h / 2) - 1, 4, 4, 0, 360);
        
     else 
        if (isCentered) 
            g2.setColor(Colors.white50percent);
            g2.drawString(text.toString(), x + (w / 2) - (g.getFontMetrics().stringWidth(text.toString()) / 2), y + (h / 2) + (g.getFontMetrics().getMaxAscent() / 2) + 1);
            g2.setColor(foreColor);
            g2.drawString(text.toString(), x + (w / 2) - (g.getFontMetrics().stringWidth(text.toString()) / 2), y + (h / 2) + (g.getFontMetrics().getMaxAscent() / 2));
         else 
            g2.setColor(Colors.white50percent);
            g2.drawString(text.toString(), x + 5, y + (h / 2) + (g.getFontMetrics().getMaxAscent() / 2) + 1);
            g2.setColor(foreColor);
            g2.drawString(text.toString(), x + 5, y + (h / 2) + (g.getFontMetrics().getMaxAscent() / 2));
        
    
    // Draw Border
    g.setColor(Colors.borderColor);
    g.drawRect(x, y, w, h);

    // Draw Hightlights
    g.setColor(Colors.white50percent);
    g.drawRect(x + 1, y + 1, w - 2, h - 2);
    g.drawRect(x - 1, y - 1, w + 2, h + 2);

输入代码

@Override
public void keyTyped(KeyEvent e) 
    int code = (int) e.getKeyChar();
    if (isActive) 
        if (code == 8) 
            if (text.toString().length() >= 1) 
                text = text.toString().substring(0, text.toString().length() - 1);
            
         else 
            String character = "" + (char)code;
            if(acceptedCharacters.contains(character.toLowerCase()))
                text = text.toString() + (char) code;
        
    

【问题讨论】:

1) 您已经描述了一个问题,但到目前为止还没有提出任何问题(更不用说具体的、可回答的问题了)。您的问题是什么? 2) 为了尽快获得更好的帮助,请发帖SSCCE。 在图形中渲染时如何使用鼠标从字符串中选择文本? How do I select text from a string using the mouse when it's rendering in Graphics? - 复制现有 Swing 文本字段组件中的代码。或者你可以只使用 JTextField。 【参考方案1】:

在图形中渲染时如何使用鼠标从字符串中选择文本?

添加一个MouseListener,当它触发时,检查它是否在String 的范围内。

检查String 边界的方法:

FontMetrics GlyphVectore.g.

【讨论】:

我会尝试这个方法,如果找到结果,我会发布答案。

以上是关于/dev/graphics/fb0是干嘛的?的主要内容,如果未能解决你的问题,请参考以下文章

java Graphics2D 生成图片随着字符长度变化

请教linux系统中/dev/hda 与 /dev/sda的区别

linux /dev/shm怎么创建

在/dev下面创建了/dev/raw目录,可是一重启linux系统,这个目录就会消失了,望各方高手指点迷津

linux系统中,如何创建一个硬盘(比如/dev/sdb),而该/dev/sdb中从第一个扇区开始就是一个iso镜像

linux /dev/sda1 太小,怎么扩容