求助:java怎么能把一java合成多张图片片的背景镂空

欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 9755 人关注过本帖
标题:【求助】如何在java窗体中添加背景图片
等 级:新手上路
结帖率:100%
&&已结贴√
&&问题点数:15&&回复次数:4&&&
【求助】如何在java窗体中添加背景图片
这是我的代码,想在这个窗体中插入同文件夹下的ABC.jpg图片座位背景~~希望各位高手帮帮忙
import java.awt.*;
import java.awt.event.*;
public class ct extends Frame implements ActionListener
&&& static ct frm=new ct();
&&& static MenuBar mb=new MenuBar();
&&& static Menu menu0=new Menu(&文件&);
&&& static Menu menu1=new Menu(&编辑&);
&&& static Menu menu2=new Menu(&查看&);
&&& static Menu menu3=new Menu(&工具&);
&&& static Menu menu4=new Menu(&帮助&);
&&& static MenuItem mi0_1=new Menu(&新建&);
&&& static MenuItem mi0_2=new Menu(&删除&);
&&& static MenuItem mi0_3=new Menu(&重命名&);
&&& static MenuItem mi0_4=new Menu(&属性&);
&&& static MenuItem mi0_5=new MenuItem(&关闭&);
&&& static MenuItem mi1_1=new Menu(&撤销&);
&&& static MenuItem mi1_2=new Menu(&剪切&);
&&& static MenuItem mi1_3=new Menu(&复制&);
&&& static MenuItem mi1_4=new Menu(&粘贴&);
&&& static MenuItem mi1_5=new Menu(&全选&);
&&& static MenuItem mi2_1=new Menu(&刷新&);
&&& static MenuItem mi3_1=new Menu(&设置&);
&&& static MenuItem mi3_2=new Menu(&选项&);
&&& static MenuItem mi4_1=new Menu(&帮助主题&);
&&& static MenuItem mi4_2=new Menu(&关于&);
&&& static Button btn1=new Button(&连&&连&&看&);
&&& static Button btn2=new Button(&俄罗斯方块&);
&&& static Button btn3=new Button(&猜&&&&&&拳&);
&&& static Button btn4=new Button(&猜&&&&&&数&);
&&&public static void initGUI(){
&&&&&&&&frm.setTitle(&管理员界面&);
&&&&&&&&btn1.setBounds(400,100,100,30);
&&&&&&&&btn2.setBounds(550,100,100,30);
&&&&&&&&btn3.setBounds(700,100,100,30);
&&&&&&&&btn4.setBounds(850,100,100,30);
&&&&&&&&frm.add(btn1);
&&&&&&&&frm.add(btn2);
&&&&&&&&frm.add(btn3);
&&&&&&&&frm.add(btn4);
&&&&&&&&mb.add(menu0);
&&&&&&&&mb.add(menu1);
&&&&&&&&mb.add(menu2);
&&&&&&&&mb.add(menu3);
&&&&&&&&mb.add(menu4);
&&&&&&&&menu0.add(mi0_1);
&&&&&&&&menu0.add(mi0_2);
&&&&&&&&menu0.add(mi0_3);
&&&&&&&&menu0.add(mi0_4);
&&&&&&&&menu0.add(mi0_5);
&&&&&&&&menu1.add(mi1_1);
&&&&&&&&menu1.add(mi1_2);
&&&&&&&&menu1.add(mi1_3);
&&&&&&&&menu1.add(mi1_4);
&&&&&&&&menu1.add(mi1_5);
&&&&&&&&menu2.add(mi2_1);
&&&&&&&&menu3.add(mi3_1);
&&&&&&&&menu3.add(mi3_2);
&&&&&&&&menu4.add(mi4_1);
&&&&&&&&menu4.add(mi4_2);
&&&&&&&&mi0_5.addActionListener(frm);
&&&&&&&&mi1_1.addActionListener(frm);
&&&&&&&&mi1_2.addActionListener(frm);
&&&&&&&&mi1_3.addActionListener(frm);
&&&&&&&&mi1_4.addActionListener(frm);
&&&&&&&&mi1_5.addActionListener(frm);
&&&&&&&&mi2_1.addActionListener(frm);
&&&&&&&&mi3_1.addActionListener(frm);
&&&&&&&&mi3_2.addActionListener(frm);
&&&&&&&&mi4_1.addActionListener(frm);
&&&&&&&&mi4_2.addActionListener(frm);
&&&&&&&&frm.setSize();
&&&&&&&&frm.setBackground(Color.yellow);
&&&&&&&&frm.setMenuBar(mb);
&&&&&&&&frm.setVisible(true);
&&&&&&&&frm.addWindowListener(new WindowAdapter()
&&&&&&&&&{
&&&&&&&&&&&&public void windowClosing(WindowEvent e)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& System.exit(0);
&&&&&&&&&&&&}}) ;
&&& public static void main(String args[])
&&&&&&&&initGUI();
&&& public void actionPerformed(ActionEvent e)
&&&&&&&&MenuItem mi=(MenuItem)e.getSource();
&&&&&&&&if(mi==mi0_5)
&&&&&&&&System.exit(0);
&&&&&&&&else if(mi==mi2_1)
&&&&&&&&frm.setBackground(Color.pink);
&&& public void windowClosing(WindowEvent e)
&&&&&&&&frm.dispose();
&&&&&&&&System.exit(0);
搜索更多相关主题的帖子:
等 级:版主
威 望:54
帖 子:2508
专家分:6424
AWT要重写paint, 用Swing方便些, 同意3L版主
[ 本帖最后由 lampeter123 于
10:38 编辑 ]
你的优秀和我的人生无关!!!!
    我要过的,是属于我自己的生活~~~
等 级:贵宾
威 望:14
帖 子:279
专家分:1362
&&得分:15&
设置背景图片要重绘组件。我把你的组件全部换成swing的,代码如下:程序代码:package
import java.awt.C
import java.awt.G
import java.awt.event.ActionE
import java.awt.event.ActionL
import java.awt.event.WindowA
import java.awt.event.WindowE
import javax.swing.ImageI
import javax.swing.JB
import javax.swing.JF
import javax.swing.JL
import javax.swing.JM
import javax.swing.JMenuB
import javax.swing.JMenuI
import javax.swing.JP
public class ct extends JFrame implements ActionListener {
&&& static ct frm = new ct();
&&& static JPanel panel = new JPanel(){
&&&&&&&&public void paintComponent(Graphics g) {
&&&&&&&&&&&&ImageIcon icon = new ImageIcon(&src/lin/1.jpg&);
&&&&&&&&&&&&g.drawImage(icon.getImage(), 0, 0, this.getWidth(), this.getHeight(), this);
&&& static JMenuBar mb = new JMenuBar();
&&& static JMenu menu0 = new JMenu(&文件&);
&&& static JMenu menu1 = new JMenu(&编辑&);
&&& static JMenu menu2 = new JMenu(&查看&);
&&& static JMenu menu3 = new JMenu(&工具&);
&&& static JMenu menu4 = new JMenu(&帮助&);
&&& static JMenuItem mi0_1 = new JMenu(&新建&);
&&& static JMenuItem mi0_2 = new JMenu(&删除&);
&&& static JMenuItem mi0_3 = new JMenu(&重命名&);
&&& static JMenuItem mi0_4 = new JMenu(&属性&);
&&& static JMenuItem mi0_5 = new JMenuItem(&关闭&);
&&& static JMenuItem mi1_1 = new JMenu(&撤销&);
&&& static JMenuItem mi1_2 = new JMenu(&剪切&);
&&& static JMenuItem mi1_3 = new JMenu(&复制&);
&&& static JMenuItem mi1_4 = new JMenu(&粘贴&);
&&& static JMenuItem mi1_5 = new JMenu(&全选&);
&&& static JMenuItem mi2_1 = new JMenuItem(&变色&);
&&& static JMenuItem mi3_1 = new JMenu(&设置&);
&&& static JMenuItem mi3_2 = new JMenu(&选项&);
&&& static JMenuItem mi4_1 = new JMenu(&帮助主题&);
&&& static JMenuItem mi4_2 = new JMenu(&关于&);
&&& static JLabel lab = new JLabel(&我的窗体&, JLabel.CENTER);
&&& static JButton btn1 = new JButton(&连&&连&&看&);
&&& static JButton btn2 = new JButton(&俄罗斯方块&);
&&& static JButton btn3 = new JButton(&猜&&&&&&拳&);
&&& static JButton btn4 = new JButton(&猜&&&&&&数&);
&&& public static void initGUI() {
&&&&&&&&frm.setTitle(&管理员界面&);
&&&&&&&&btn1.setBounds(400, 100, 100, 30);
&&&&&&&&btn2.setBounds(550, 100, 100, 30);
&&&&&&&&btn3.setBounds(700, 100, 100, 30);
&&&&&&&&btn4.setBounds(850, 100, 100, 30);
&&&&&&&&frm.add(btn1);
&&&&&&&&frm.add(btn2);
&&&&&&&&frm.add(btn3);
&&&&&&&&frm.add(btn4);
&&&&&&&&mb.add(menu0);
&&&&&&&&mb.add(menu1);
&&&&&&&&mb.add(menu2);
&&&&&&&&mb.add(menu3);
&&&&&&&&mb.add(menu4);
&&&&&&&&menu0.add(mi0_1);
&&&&&&&&menu0.add(mi0_2);
&&&&&&&&menu0.add(mi0_3);
&&&&&&&&menu0.add(mi0_4);
&&&&&&&&menu0.add(mi0_5);
&&&&&&&&menu1.add(mi1_1);
&&&&&&&&menu1.add(mi1_2);
&&&&&&&&menu1.add(mi1_3);
&&&&&&&&menu1.add(mi1_4);
&&&&&&&&menu1.add(mi1_5);
&&&&&&&&menu2.add(mi2_1);
&&&&&&&&menu3.add(mi3_1);
&&&&&&&&menu3.add(mi3_2);
&&&&&&&&menu4.add(mi4_1);
&&&&&&&&menu4.add(mi4_2);
&&&&&&&&mi0_5.addActionListener(frm);
&&&&&&&&mi1_1.addActionListener(frm);
&&&&&&&&mi1_2.addActionListener(frm);
&&&&&&&&mi1_3.addActionListener(frm);
&&&&&&&&mi1_4.addActionListener(frm);
&&&&&&&&mi1_5.addActionListener(frm);
&&&&&&&&mi2_1.addActionListener(frm);
&&&&&&&&mi3_1.addActionListener(frm);
&&&&&&&&mi3_2.addActionListener(frm);
&&&&&&&&mi4_1.addActionListener(frm);
&&&&&&&&mi4_2.addActionListener(frm);
&&&&&&&&panel.add(lab);
//&&&&&&&&panel.setBackground(Color.yellow);
&&&&&&&&frm.getContentPane().add(panel);
&&&&&&&&frm.setSize();
&&&&&&&&frm.setJMenuBar(mb);
&&&&&&&&frm.setVisible(true);
&&&&&&&&frm.addWindowListener(new WindowAdapter() {
&&&&&&&&&&&&public void windowClosing(WindowEvent e) {
&&&&&&&&&&&&&&& System.exit(0);
&&&&&&&&&&&&}
&&&&&&&&});
&&& public static void main(String args[]) {
&&&&&&&&initGUI();
&&&&&&&&frm.setVisible(false);
&&&&&&&&frm.setBackground(Color.yellow);
&&&&&&&&frm.setVisible(true);
&&& public void actionPerformed(ActionEvent e) {
&&&&&&&&JMenuItem mi = (JMenuItem) e.getSource();
&&&&&&&&if (mi == mi0_5)
&&&&&&&&&&&&System.exit(0);
&&&&&&&&else if (mi == mi2_1) {
&&&&&&&&&&&&panel.setBackground(Color.pink);// 使窗体改变背景颜色
&&& public void windowClosing(WindowEvent e) {
&&&&&&&&frm.dispose();
&&&&&&&&System.exit(0);
等 级:新手上路
回复 3楼 linjx0123
~~非常感谢~~
等 级:新手上路
在这个代码中怎么添加背景图片
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MainMenu implements ActionListener
&&& JFrame&&
&&& JMenuItem&&&add,update,select,delete,
&&& JMenu&&&option,
&&& JMenuBar&&
&&& MainMenu()
&&&&&&frame=new JFrame(&欢迎登录学生信息系统 &);
&&&&&&frame.setVisible(true);
&&&&&&frame.setLocation(300,200);
&&&&&&frame.setSize(400,300);
&&&&&&frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
&&&&&&add=new JMenuItem(&录入学生基本信息&);
&&&&&&update=new JMenuItem(&修改学生基本信息&);
&&&&&&select=new JMenuItem(&查询学生基本信息&);
&&&&&&delete=new JMenuItem(&删除学生基本信息&);
&&&&&&exit=new JMenuItem(&退出系统&);
&&&&&&add.addActionListener(this);
&&&&&&update.addActionListener(this);
&&&&&&select.addActionListener(this);
&&&&&&delete.addActionListener(this);
&&&&&&exit.addActionListener(this);
&&&&&&JMenu&&option=new JMenu(&选择&);
&&&&&&JMenu&&cancel=new JMenu(&退出&);
&&&&&&option.add(add);
&&&&&&option.add(update);
&&&&&&option.add(select);
&&&&&&option.add(delete);
&&&&&&cancel.add(exit);
&&&&&&JMenuBar&&bar=new JMenuBar();
&&&&&&bar.add(option);
&&&&&&bar.add(cancel);
&&&&&&frame.setJMenuBar(bar);
&&& public void actionPerformed(ActionEvent e)
&&&&&&&&if(e.getSource()==add)
&&&&&&&&{&&&
&&&&&&&&&&&&new&&AddWindow();
&&&&&&&&&&&&frame.setVisible(false);
&&&&&&&&if(e.getSource()==delete)
&&&&&&&&{&&&
&&&&&&&&&&&&new&&DeleteWindow();
&&&&&&&&&&&&frame.setVisible(false);
&&&&&&&&if(e.getSource()==exit)
&&&&&&&&&&&&System.exit(0);
&&&&&&&&public static void main(String args[])
&&&&&&&&&&&&new MainMenu();
版权所有,并保留所有权利。
Powered by , Processed in 0.103752 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved【求助】web里面,怎么调整css才能让一张背景图片自适应一块区域_java吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:616,800贴子:
【求助】web里面,怎么调整css才能让一张背景图片自适应一块区域收藏
这两天在调整 CSS ,很苦逼……
background-image:url('/back.png');
background-repeat:no-这样是设置背景图片,能不能让图片自动缩放去适应一块区域的大小?我根据 w3cschool 上的很多参数试过了,都没有实现图片自适应……有没有什么参数可以设置的?
2017java学习来上市公司博为峰学java,入学即签就业协议,不就业不收费,查看java课程!java好学吗?java课程来博为峰学,java工程师就业年薪十几万!
web 小白求助啊……
css没看,不懂帮顶
据说是没有的。HTML里倒是可以
一般body背景是某个片段的小切片,然后按照x或y轴repeat即可,无需缩放如果有特别的需要,可以在body上再加一个div,设置特定但不缩放的背景另外的比较好的做法是只做页面边缘的背景,就像本帖的背景一样
同css小白。不过老师说要养成设置宽度和长度的习惯⋯⋯不知道了。
background-repeat:no-可以让他不平铺但是没办法,他不会拉伸
谷歌合适大小图片
今天被css搞的蛋都碎了
md 郁闷死了
无锡 java零基础入学,提升专业水平,无锡 java权威讲师授课,打造IT行业精英!无锡 java包教包会,学不会免费重修,咨询热线:
用滤镜把.bg{background:url('/back.png');filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale')";-moz-background-size:100% 100%;background-size:100% 100%;}
O.O 我是来看司马大叔的,,
background-size:background-size:不过这个是css3属性,低端浏览器不支持。如果你要自适应的话,请使用 &img& 标签 display: max-width:100%;
不懂,帮顶
在那个background 后面加right,left,center什么的看看行不行 还能加px
哇哦高端上层人士果然是腻害
这尼玛只让改Css~
司马大叔也有求助的时候!
这是个坟啊
居然是坟贴....
没听说过这种
挖坟者。。。封!!!
要不你用jquery 获取div宽和高
然后修改图片大小。。。。。
司马小白白
加width,height
登录百度帐号推荐应用本帖子已过去太久远了,不再提供回复功能。Java&去除图片黑、白背景类
原始代码来源于网路,做了些整理。
com.dlgcy.
java.awt.G
java.awt.Graphics2D;
java.awt.GraphicsC
java.awt.GraphicsD
java.awt.GraphicsE
java.awt.HeadlessE
java.awt.I
java.awt.T
java.awt.image.BufferedI
java.io.ByteArrayInputS
java.io.ByteArrayOutputS
java.io.IOE
javax.imageio.ImageIO;
javax.swing.ImageI
class Alpha {
&&&&public
static byte[]
transferAlpha(Image image)
&&&&&&&&ByteArrayOutputStream
byteArrayOutputStream = new ByteArrayOutputStream();
&&&&&&&&try
&&&&&&&&&&&&ImageIcon
imageIcon = new
ImageIcon(image);
&&&&&&&&&&&&BufferedImage
bufferedImage = new
BufferedImage(imageIcon
&&&&&&&&&&&&&&&&&&&&.getIconWidth(),
imageIcon.getIconHeight(),
&&&&&&&&&&&&&&&&&&&&BufferedImage.TYPE_4BYTE_ABGR);
&&&&&&&&&&&&Graphics2D
g2D = (Graphics2D) bufferedImage.getGraphics();
&&&&&&&&&&&&g2D.drawImage(imageIcon.getImage(),
0, 0, imageIcon
&&&&&&&&&&&&&&&&&&&&.getImageObserver());
&&&&&&&&&&&&int
alpha = 0;
&&&&&&&&&&&&for
bufferedImage.getMinY(); j1 &
bufferedImage
&&&&&&&&&&&&&&&&&&&&.getHeight();
&&&&&&&&&&&&&&&&for
bufferedImage.getMinX(); j2 &
bufferedImage
&&&&&&&&&&&&&&&&&&&&&&&&.getWidth();
&&&&&&&&&&&&&&&&&&&&int
rgb = bufferedImage.getRGB(j2,
&&&&&&&&&&&&&&&&&&&&int
R =(rgb & 0xff0000 )
&&&&&&&&&&&&&&&&int
G= (rgb & 0xff00 )
&&&&&&&&&&&&&&&&int
B= (rgb & 0xff
&&&&&&&&&&&&&&&&//if(((255-R)&30)
&& ((255-G)&30)
&& ((255-B)&30)){
//去除白色背景;
&&&&&&&&&&&&&&&&if(((255-R)&160)
&& ((255-G)&160)
((255-B)&160)){//去除黑色背景&&dlgcy;
&&&&&&&&&&&&&&&&&&&&rgb
= ((alpha + 1) && 24) | (rgb
& 0x00ffffff);
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&bufferedImage.setRGB(j2,
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&}
&&&&&&&&&&&&g2D.drawImage(bufferedImage,
0, 0, imageIcon.getImageObserver());
&&&&&&&&&&&&//ImageIO.write(bufferedImage,
"png", new File("d:/test.png.png"));
&&&&&&&&&&&&ImageIO.write(bufferedImage,
byteArrayOutputStream);
catch (Exception e) {
&&&&&&&&}finally{
&&&&&&&&return
byteArrayOutputStream.toByteArray();
&&&&//byte[]
------&BufferedImage
&&&&public
static BufferedImage ByteToBufferedImage(byte[]
byteImage) throws
IOException{
&&&&&&&&ByteArrayInputStream
in = new ByteArrayInputStream(byteImage);
&&&&&&&&BufferedImage
buffImage =
ImageIO.read(in);&&&&
&&&&&&&&return
&&&&//Image转换为BufferedImage;
&&&&public
static BufferedImage toBufferedImage(Image image)
&&&&&&&&if
(image instanceof BufferedImage)
&&&&&&&&&&&&return
(BufferedImage)
&&&&&&&&image
= new ImageIcon(image).getImage();
&&&&&&&&boolean
hasAlpha = false;
&&&&&&&&BufferedImage
bimage = null;
&&&&&&&&GraphicsEnvironment
GraphicsEnvironment.getLocalGraphicsEnvironment();
&&&&&&&&try
&&&&&&&&&&&&int
transparency = Transparency.OPAQUE;
&&&&&&&&&&&&if
(hasAlpha) {
&&&&&&&&&&&&&&&&transparency
= Transparency.BITMASK;
&&&&&&&&&&&&}
&&&&&&&&&&&&GraphicsDevice
gs = ge.getDefaultScreenDevice();
&&&&&&&&&&&&GraphicsConfiguration
gc = gs.getDefaultConfiguration();
&&&&&&&&&&&&bimage
= gc.createCompatibleImage(image.getWidth(null),
&&&&&&&&&&&&&&&&&&&&image.getHeight(null),
transparency);
catch (HeadlessException e) {
&&&&&&&&if
(bimage == null)
&&&&&&&&&&&&int
type = BufferedImage.TYPE_INT_RGB;
&&&&&&&&&&&&if
(hasAlpha) {
&&&&&&&&&&&&&&&&type
= BufferedImage.TYPE_INT_ARGB;
&&&&&&&&&&&&}
&&&&&&&&&&&&bimage
= new BufferedImage(image.getWidth(null),
&&&&&&&&&&&&&&&&&&&&image.getHeight(null),
&&&&&&&&Graphics
g = bimage.createGraphics();
&&&&&&&&g.drawImage(image,
0, 0, null);
&&&&&&&&g.dispose();
&&&&&&&&return
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 java 多张图片合成pdf 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信