drawimageC#下用DrawImage将图像绘制到picturebox上
drawimage 时间:2021-06-22 阅读:(
)
请问怎么判断是Graphics.DrawImage是Draw到窗口还是缓冲区呢?
Graphics的构造函数,参数是什么就画在什么上。
参数是DC就画在DC代表的设备上(也有可能是内存,就是所谓缓冲区)
参数是Image就画在Image代表的图片上Java中addImage和drawImage方法比较。优劣处。
Graphics有六个drawImage方法,我们用的最多的是 public abstract boolean drawImage(Image img, int x, int y,int width, int height,ImageObserver observer); img是要加载的图像,x,y是指定绘制图像矩形左上角的位置,width是指定绘制图像矩...c# drawimage绘制背景图像,并把背景图像放到picturebox中
Image b = Image.FromFile(@"d: t.jpg");
Graphics g1 = Graphics.FromImage(b);
g1.DrawRectangle(new Pen(Color.Red), 300, 200, 400, 100);
//继续用g1画就不会消失
g1.DrawRectangle(new Pen(Color.Blue), 600, 600, 100, 420);
//this.BackgroundImage = b;
b.Save("f:\t.jpg", System.Drawing.Imaging.ImageFormat.Jpeg); //保存到文件
pictureBox1.Image = b; //显示到pictureBox
不是消失了,是覆盖了serializable 类 DrawImage 未声明类型为 long 的静态终态 是什么意思
实现 serializable 接口 (不过这个接口里没方法)
只需要指定private static final long serialVersionUID =
后面的数字随便 长点比较好。
。
因为不继承 serializable 类的数据类型或者类 无法在流中传递 (HTTP是无状态协议所以对象都是在流中传递)
JAVA本身90%的类全部实现了serializable 接口java中的paint方法中的drawimage方法怎么用?
drawImage方法是用来将图片绘制到目标上
drawImage
public abstract boolean drawImage(Image img,
int x,
int y,
int width,
int height,
Color bgcolor,
ImageObserver observer)绘制指定图像中已缩放到适合指定矩形内部的图像。
图像绘制在此图形上下文坐标空间的指定矩形内部,如果需要,则进行缩放。
以指定的背景色绘制透明像素。
此操作等同于用给定颜色填充指定图像宽度和高度的矩形,然后在其上绘制图像,但此操作效率更高。
此方法在任何情况下都立刻返回,甚至在整个图像没有针对当前输出设备完成缩放、抖动或转换的情况下也是如此。
如果当前的输出表示形式尚未完成,则 drawImage 返回 false。
随着更多的图像可用,加载图像的进程将通知指定的图像观察者。
缩放的图像不一定立刻是可用的,因为已经为此输出设备构造了非缩放的图像。
每种大小的图像可以被分别缓存,并由各自图像生产序列中的原始数据生成。
参数:
img - 要绘制的指定图像。
如果 img 为 null,则此方法不执行任何操作。
x - x 坐标。
y - y 坐标。
width - 矩形的宽度。
height - 矩形的高度。
bgcolor - 在图像非透明部分下绘制的背景色。
observer - 当转换了更多图像时要通知的对象。
一个简单的例子(drawImage方法有很多变体 这里用的是最简单的一个)
import java.awt.BasicStroke;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
public class GraphiscTest extends JLabel {
private static final long serialVersionUID = -1985867978449397006L;
public GraphiscTest() {
super();
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
BufferedImage image = new BufferedImage(150, 150,
BufferedImage.TYPE_3BYTE_BGR);
Graphics2D g2d = image.createGraphics();
g2d.setBackground(Color.GRAY);
g2d.clearRect(0, 0, getWidth(), getHeight());
g2d.drawString("Default Font", 10, 20);
g2d.drawLine(10, 22, 80, 22);
g2d.setFont(g.getFont().deriveFont(Font.BOLD | Font.ITALIC, 24f));
g2d.setColor(Color.WHITE);
g2d.setStroke(new BasicStroke(10f, BasicStroke.CAP_ROUND,
BasicStroke.JOIN_MITER));
g2d.drawString("New Font", 10, 50);
g2d.drawLine(10, 57, 120, 57);
g2d.dispose();
g.drawImage(image, 0, 0, null);
}
public static void main(String args[]) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
frame.add(new GraphiscTest(), BorderLayout.CENTER);
frame.setSize(320, 240);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}C#下用DrawImage将图像绘制到picturebox上
反色ToolStripMenuItem_Click方法中的
g = this.CreateGraphics ();//获取窗体画刷
g.DrawImage(bitmap ,0,0);//在窗体左上角绘制图形
这两句代码按你的想法是错误的;
按楼上的 把 上面那两句 换成pictureBox1.Image=bitmap;就行了
另外 提醒下,方法变量 命名 最好规范化
profitserver正在对德国vps(法兰克福)、西班牙vps(马德里)、荷兰vps(杜廷赫姆)这3处数据中心内的VPS进行5折优惠促销。所有VPS基于KVM虚拟,纯SSD阵列,自带一个IPv4,不限制流量,在后台支持自定义ISO文件,方便大家折腾!此外还有以下数据中心:俄罗斯(多机房)、捷克、保加利亚、立陶宛、新加坡、美国(洛杉矶、锡考克斯、迈阿密)、瑞士、波兰、乌克兰,VPS和前面的一样性...
racknerd怎么样?racknerd美国便宜vps又开启促销模式了,机房优秀,有洛杉矶DC-02、纽约、芝加哥机房可选,最低配置4TB月流量套餐16.55美元/年,此外商家之前推出的最便宜的9.49美元/年套餐也补货上架,同时RackNerd美国AMD VPS套餐最低才14.18美元/年,是全网最便宜的AMD VPS套餐!RackNerd主要经营美国圣何塞、洛杉矶、达拉斯、芝加哥、亚特兰大、新...
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...
drawimage为你推荐
中国万维网中国互联网的历史是怎样的呢?什么时候开始的呢?mergefield如何自动生成准考证和批量打印,请高手们指教gps数据格式GPS数据如何输入及导出存储区域网络网络存储技术的SAN(存储区域网络)的优点4k超高清视频下载哪里有4K片源下载啊?补充:刚入手了一个4k电视盒,小美盒子V9,说是支持4k。正好我的电视机是4k的,想知道哪里有得下载呢?有朋友说我傻,现在基本上没有4k片源下载,而且不知道什么时候才有。等到流行的时候也许这个机器又淘汰啦!我该怎么办啊?prisma安卓版kovo安卓版的哪有下载?youtube创始人李开复的创新工场是做什么的啊???怎么用电脑发短信谁知道怎样能用电脑给手机发短信webservice框架如何用webservice 的cxf框架netbios协议机子上启动了netbios协议,为什么还是运行不了netbios命令
根域名服务器 lnmp cpanel主机 美国php主机 php空间推荐 老左来了 91vps umax120 无限流量 域名dns 百度云加速 华为云建站 免费个人网页 googlevoice 带宽测速 远程登录 koss耳机 网易轻博客 web服务器软件下载 西安服务器机柜 更多