导航:首页 > 编程语言 > javagif图片宽高

javagif图片宽高

发布时间:2022-09-20 05:52:39

A. java中在窗体的创建一个面板中加入一个gif动态图

你是说 JPanel 吗?两种方法:

添加 JLabel,给 JLabel 添加 ImageIcon,然后放置 JLabel 到 JPanel 上就行了:
JPanel pnl = new JPanel();
......
JLabel lblImage = new JLabel(new ImageIcon("你的文件名")); //创建一个带图片的 JLabel
lblImage.setBounds(0, 0, pnl.getWidth(), pnl.getHeight()); //设置 图片的横坐标、纵坐标、宽、高
pnl.add(lblImage); //放置这个 JLabel 到你的 JPanel 上面

还有一种方法是重写 JPanel 的 paint() 方法:
class YourPanel extends JPanel {
private Image img = Toolkit.getDefaultToolkit().createImage("你的文件名"); //用 Toolkit 的 createImage 方法来创建一个 Image 对象
@Override public void paint (Graphics g) {
super.paint(g);
g.drawImage(img, 0, 0, getWidth(), getHeight()); //绘制图片,第一个参数是 Image 对象,第二个参数是 横坐标,第三个是 纵坐标,第四个是 宽,第五个是 高
}
}

以上你隐式重写也可以:
JPanel pnl = new JPanel() {
@Override public void paint (Graphics g) {
...... //但是要注意这样如果你把 Image 声明成了局部变量或者参数形式,你需要声明成 final
}
}

B. 怎么修改gif图片尺寸

都知道微信现在已经是一个很普及的聊天交友工具了,但是凡事都有两面性,有好的一面就有不好的一面。都知道微信发送视频文件是有一定大小限制的,超过了限制大小就没办法进行发送,不仅是视频,就连gif图片也是一样,如果超过限定大小就没办法发送。那有没有什么办法能够给微信好友发送超过限定大小的视频或gif图片呢?

声明本文系本人根据真实经历原创,未经许可,请勿转载。

C. 如何用Java实现图形的放大和缩小

java实现图形的放大和缩小,其实就是在画图时,改变图片的长和宽。以下代码参考一下:


importjava.awt.Graphics;
importjava.awt.MouseInfo;
importjava.awt.Point;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.MouseEvent;
importjava.awt.event.MouseListener;
importjava.io.File;

importjavax.swing.ImageIcon;
importjavax.swing.JButton;
importjavax.swing.JFileChooser;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
importjavax.swing.filechooser.FileNameExtensionFilter;

,ActionListener{

intx=0;
inty=0;
File[]selectedFiles=null;
intfileIndex=0;
intwidth=200;
intheight=200;

publicApp(){

setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(400,300);
setResizable(false);
getContentPane().setLayout(null);

JPanelpanel=newImagePanel();
panel.setBounds(12,40,370,218);
getContentPane().add(panel);

addMouseListener(this);
JButtonbtnBrowse=newJButton("Browse");
btnBrowse.addActionListener(this);
btnBrowse.setBounds(12,9,91,21);
getContentPane().add(btnBrowse);
setVisible(true);
}

publicstaticvoidmain(String[]args){
newApp();
}

publicvoidactionPerformed(ActionEvente){
JFileChooserchooser=newJFileChooser();
chooser.setMultiSelectionEnabled(true);
FileNameExtensionFilterfilter=newFileNameExtensionFilter(
"JPG&GIFImages","jpg","gif");
//设置文件类型
chooser.setFileFilter(filter);
//打开选择器面板
intreturnVal=chooser.showOpenDialog(this);
if(returnVal==JFileChooser.APPROVE_OPTION){
selectedFiles=chooser.getSelectedFiles();
repaint();
}
}

publicvoidmouseClicked(MouseEvente){

}

publicvoidmouseEntered(MouseEvente){

}

publicvoidmouseExited(MouseEvente){

}

publicvoidmousePressed(MouseEvente){
Pointpoint=MouseInfo.getPointerInfo().getLocation();
x=point.x;
y=point.y;
}

publicvoidmouseReleased(MouseEvente){
Pointpoint=MouseInfo.getPointerInfo().getLocation();
intthisX=point.x;
intthisY=point.y;
System.out.println("thisX="+thisX+""+"thisY="+thisY);
if((y-thisY<20&&y-thisY>0)
||(y-thisY<0&&y-thisY>-20)){
//Y在20范围内移动认为是水平移动
if(x<thisX){
//right
if(selectedFiles!=null
&&fileIndex<selectedFiles.length-1){
fileIndex++;
}
}else{
//left
if(selectedFiles!=null&&fileIndex>0){
fileIndex--;
}
}
}else{
if(x<thisX){
//右下
width+=20;
height+=20;
}else{
//左上
width-=20;
height-=20;
}
}

repaint();
}

classImagePanelextendsJPanel{

publicvoidpaint(Graphicsg){
super.paint(g);

if(selectedFiles!=null){
ImageIconicon=newImageIcon(selectedFiles[fileIndex]
.getPath());
g.drawImage(icon.getImage(),0,0,width,height,this);
}
}
}
}

D. java如何获取数据库里的图片高宽

读成Image对象,用image.getWidth()和image.getHeight()得到宽高
如果频繁使用,就应该在表中增设宽高字段了。

E. 调整GIF图片的宽度和高度,达到压缩GIF图片的效果

GIF图片的话可以用GIF中文网,除了能够调整宽高进行压缩,还能够调整压缩等级,抽取图片的帧数来缩小文件,也不用下载软件,在线就可以完成操作,简单说一下操作的步骤。

打开GIF中文网的GIF压缩功能,点击上传图片按钮,上传需要进行压缩的图片。

F. 在java中如何利用事件实现图片大小的改变

应该是满足了吧
import java.awt.*;
import java.applet.*;
import java.net.URL;
import java.awt.image.ImageProcer;

public class AppletTest extends Applet {
private Image i;

String urlString = "http://www..com/img/logo.gif"; // 图片地址

Button b1 = new Button("zoom In");
Button b2 = new Button("zoom Out");

int a = 80;
int b = 80;

public void init() {
try {
URL url = new URL(urlString);
i = this.createImage((ImageProcer) url.getContent());

add(b1);
add(b2);
} catch (Exception e) {
e.printStackTrace();
}
}
public boolean action(Event evt, Object arg) {
if(evt.target.equals(b1))
zoomIn();
else if(evt.target.equals(b2))
zoomOut();
// Let the base class handle it:
else
return super.action(evt, arg);
return true; // We've handled it here
}
public void zoomIn(){
a += 10;
b += 10;
repaint();
}
public void zoomOut(){
a -= 10;
b -= 10;
repaint();
}

public void paint(Graphics g) {
g.drawImage(i, 20, 40, a, b, this);
}
}

G. java怎样设置图片适应容器大小

//你可以试试这个程序 和你说的差不多
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;

//SplitPaneDemo itself is not a visible component.
public class SplitPaneDemo extends JPanel
implements ListSelectionListener {
private JLabel picture;
private JList list;
private JSplitPane splitPane;
private String[] imageNames = { "Bird", "Cat", "Dog", "Rabbit", "Pig", "keWaveRed",
"kathyCosmo", "lainesTongue", "left", "middle", "right", "stickerface"};
public SplitPaneDemo() {

//Create the list of images and put it in a scroll pane.

list = new JList(imageNames);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.setSelectedIndex(0);
list.addListSelectionListener(this);

JScrollPane listScrollPane = new JScrollPane(list);
picture = new JLabel();
picture.setFont(picture.getFont().deriveFont(Font.ITALIC));
picture.setHorizontalAlignment(JLabel.CENTER);

JScrollPane pictureScrollPane = new JScrollPane(picture);

//Create a split pane with the two scroll panes in it.
splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
listScrollPane, pictureScrollPane);
splitPane.setOneTouchExpandable(true);
splitPane.setDividerLocation(150);

//Provide minimum sizes for the two SplitPaneDemo in the split pane.
Dimension minimumSize = new Dimension(100, 50);
listScrollPane.setMinimumSize(minimumSize);
pictureScrollPane.setMinimumSize(minimumSize);

//Provide a preferred size for the split pane.
splitPane.setPreferredSize(new Dimension(400, 200));
updateLabel(imageNames[list.getSelectedIndex()]);
}

//Listens to the list
public void valueChanged(ListSelectionEvent e) {
JList list = (JList)e.getSource();
updateLabel(imageNames[list.getSelectedIndex()]);
}

//Renders the selected image
protected void updateLabel (String name) {
ImageIcon icon = createImageIcon("images/" + name + ".gif");
picture.setIcon(icon);
if (icon != null) {
picture.setText(null);
} else {
picture.setText("Image not found");
}
}

//Used by SplitPaneDemo2
public JList getImageList() {
return list;
}

public JSplitPane getSplitPane() {
return splitPane;
}

/** Returns an ImageIcon, or null if the path was invalid. */
protected static ImageIcon createImageIcon(String path) {
java.net.URL imgURL = SplitPaneDemo.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}

/**
* Create the GUI and show it. For thread safety,
* this method should be invoked from the
* event-dispatching thread.
*/
private static void createAndShowGUI() {

//Create and set up the window.
JFrame frame = new JFrame("SplitPaneDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
SplitPaneDemo splitPaneDemo = new SplitPaneDemo();
frame.getContentPane().add(splitPaneDemo.getSplitPane());

//Display the window.
frame.pack();
frame.setVisible(true);
}

public static void main(String[] args) {
//Schele a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}

}

H. java实现gif图片压缩成型的jar包或者java可以调用的插件

需要用到一个java-image-scaling-0.8.5.jar包。这种需要设定宽高(我是按照原来比例走的。宽是按照两个A4的宽度走)。
优点:简单,格式支持还行。
缺点:宽高需要设定。

I. java 怎么把gif图按比例缩放

自己在paint事件中,缩放

J. java 中读取图片宽度和高度总是为-1,怎么办

图片的宽度和高度一般来说如果你不设定的话,它显示的是原始大小,一般来说需要自己设定的,如果疑问的话将你的例子写上来一些,看看。
至于读取动画GIF图片,跟普通图片一样,只需要一个"URL"路径就可以了。

阅读全文

与javagif图片宽高相关的资料

热点内容
玉米win10系统下载 浏览:134
fgo技能升级减cd吗 浏览:129
什么记账app免费好用 浏览:441
网络检测可以检测到什么 浏览:504
sip协议教程 浏览:832
编程哪里可以接项目 浏览:119
孤岛惊魂win10 浏览:246
网络HRV是什么意思 浏览:918
word框中打勾 浏览:577
tcl笔试题java 浏览:467
win10怎么登录安全模式 浏览:679
除了archdaily还有什么网站 浏览:567
数控下料圆形怎么编程 浏览:785
安装游戏在文件管理找不到怎么办 浏览:216
想买奢侈包包下载什么app 浏览:1000
闪送员是哪里的app 浏览:530
火车站进站闸机的数据哪里可以查 浏览:503
cad备份文件清理软件 浏览:822
夹具装配图cad文件百度网盘 浏览:567
如何将excel表格转成文件包 浏览:1

友情链接