C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.12906 の関連記事表示

<< 0 >>
■12906  画像保存の方法
□投稿者/ yu -(2008/01/20(Sun) 18:31:20)

    分類:[Java] 

    javaについての質問です。
    動かした画像を保存したいのですが、私はjava初心者のためどうしたらいいかよくわかりません。ソースを貼り付けておきますので、解かる方はソースに保存方法を加えていただき表示していただけると非常に助かります。
    勝手なお願いではありますが、よろしくお願いします。
    //AlphaCompositeTest

    import java.awt.*;
    import javax.swing.*;
    import javax.swing.event.*;
    /*
    <applet code="AlphaCompositeTest" width=600 height=500>
    <param name="file" value="pict0.jpg">
    </applet>
    */
    public class AlphaCompositeTest extends JApplet implements ChangeListener {

    //Eclipseの場合、シリアライズ可能クラスでこれがないと警告が出る
    private static final long serialVersionUID=0;
    //画像の枚数
    static final int NUMBER=3;
    //
    AlphaCompositeTestPanel panel;
    //
    JSlider slider02,slider01,slider00;
    //
    public void init(){
    //初期化の後、画像とその透明度をセット
    panel=new AlphaCompositeTestPanel();
    for(int n=0;n<NUMBER;n++){
    panel.setImage(n,getImage(getDocumentBase(),"a"+n+".jpg"));
    panel.setAlpha(n,0.5F);
    }
    //
    JPanel panel2=new JPanel();
    panel2.setLayout(new GridLayout(3,2));
    panel2.add(new JLabel("1枚目"));
    panel2.add(slider02=new JSlider(0,255,255));
    panel2.add(new JLabel("2枚目"));
    panel2.add(slider01=new JSlider(0,255,255));
    panel2.add(new JLabel("3枚目"));
    panel2.add(slider00=new JSlider(0,255,255));
    //コンテナ枠
    Container cp=getContentPane();
    cp.add(panel,BorderLayout.CENTER);
    cp.add(panel2,BorderLayout.SOUTH);
    //
    slider02.addChangeListener(this);
    slider01.addChangeListener(this);
    slider00.addChangeListener(this);
    }
    //それぞれの画像の透明度をセット

    public void stateChanged(ChangeEvent e) {
    if(e.getSource()==slider02){
    float f=(float)(slider02.getValue())/255;
    panel.setAlpha(2,f);
    //
    repaint();
    }else if(e.getSource()==slider01){
    float f=(float)(slider01.getValue())/255;
    panel.setAlpha(1,f);
    //
    repaint();
    }else if(e.getSource()==slider00){
    float f=(float)(slider00.getValue())/255;
    panel.setAlpha(0,f);
    //
    repaint();
    }
    }
    }

    //AlphaCompositeTestPanel

    import java.awt.*;
    import javax.swing.JPanel;

    public class AlphaCompositeTestPanel extends JPanel {
    //Eclipseの場合、シリアライズ可能クラスでこれがないと警告が出る
    private static final long serialVersionUID=0;
    //
    Image[] images;
    float[] alphas;
    //
    public AlphaCompositeTestPanel(){
    images=new Image[AlphaCompositeTest.NUMBER];
    alphas=new float[AlphaCompositeTest.NUMBER];

    }
    //画像を受け取って保持
    public void setImage(int n,Image img){
    images[n]=img;
    }
    //透明度を受け取って保持
    public void setAlpha(int n,float f){
    alphas[n]=f;
    }
    //
    public void paintComponent(Graphics g){
    super.paintComponent(g);
    //
    Graphics2D g2=(Graphics2D)g;
    //
    for(int n=0;n<AlphaCompositeTest.NUMBER;n++){
    //透明度をセットして、画像を描画
    AlphaComposite comp=AlphaComposite.getInstance(AlphaComposite.SRC_OVER,alphas[n]);
    g2.setComposite(comp);
    //
    g2.drawImage(images[n],0,0,this);
    }
    }
    }
親記事 /過去ログ28より / 関連記事表示
削除チェック/

■12938  Re[1]: 画像保存の方法
□投稿者/ 凪瀬 -(2008/01/21(Mon) 16:31:58)
>
    No12906 (yu さん) に返信
    > javaについての質問です。
    > 動かした画像を保存したいのですが、私はjava初心者のためどうしたらいいかよくわかりません。ソースを貼り付けておきますので、解かる方はソースに保存方法を加えていただき表示していただけると非常に助かります。

    「動かした画像」というのがよくわからないのですが、プログラム上で編集したImageオブジェクトを
    ファイルに書き出したいのでしょうか?

    画像の書き出しにはImageIOクラスを用います。
    http://java.sun.com/javase/ja/6/docs/ja/api/javax/imageio/ImageIO.html

    ただし、Appletの場合はサンドボックスの制約でファイルへの書き出しには
    制限があるので注意が必要です。
記事No.12906 のレス /過去ログ28より / 関連記事表示
削除チェック/

■12954  Re[2]: 画像保存の方法
□投稿者/ yu -(2008/01/21(Mon) 21:13:49)
    http://www.takana.info/java4/alphacompositetest.htm
    を参照していただければわかると思いますが、スライダーがありスライダーを動かすことによって画像が変わります。スライダーを動かしたときに出来る画像をファイルとして書き出したいのです。
    ImageIOクラスとはどこに書けばいいのでしょうか?

    No12938 (凪瀬 さん) に返信
    > ■No12906 (yu さん) に返信
    >>javaについての質問です。
    >>動かした画像を保存したいのですが、私はjava初心者のためどうしたらいいかよくわかりません。ソースを貼り付けておきますので、解かる方はソースに保存方法を加えていただき表示していただけると非常に助かります。
    >
    > 「動かした画像」というのがよくわからないのですが、プログラム上で編集したImageオブジェクトを
    > ファイルに書き出したいのでしょうか?
    >
    > 画像の書き出しにはImageIOクラスを用います。
    > http://java.sun.com/javase/ja/6/docs/ja/api/javax/imageio/ImageIO.html
    >
    > ただし、Appletの場合はサンドボックスの制約でファイルへの書き出しには
    > 制限があるので注意が必要です。
記事No.12906 のレス /過去ログ28より / 関連記事表示
削除チェック/

■12985  Re[3]: 画像保存の方法
□投稿者/ (報告) -(2008/01/22(Tue) 17:09:46)
記事No.12906 のレス /過去ログ28より / 関連記事表示
削除チェック/

■13045  Re[4]: 画像保存の方法
□投稿者/ yu -(2008/01/23(Wed) 20:45:25)
記事No.12906 のレス /過去ログ28より / 関連記事表示
削除チェック/

■13052  Re[5]: 画像保存の方法
□投稿者/ tama -(2008/01/23(Wed) 21:34:08)
    No13045 (yu さん) に返信
    > 私はやり方を知りたかったので、他のサイトにも同様のことを書きましたがそれはいけないことなのでしょうか?

    yuさんは純粋にこの疑問を解決したくて、複数の掲示板に同じ内容を書き込んだのかもしれません。

    しかし、各掲示板で記事を見ている人々、特に複数の掲示板を行き来している人々にとっては、どこへ行っても
    同じ記事を見せられることになります。
    こちらから(意味的に)引用↓
    http://e-words.jp/w/E3839EE383ABE38381E3839DE382B9E38388.html


    また、どんだけ〜!さんのコメントにあるリンク先にも書かれていますが、
    複数の掲示板に書き込むだけ書き込んでその後の報告も無しにほったらかし、というのがあまりに多く
    それ故に「マルチポストはよくない」というのが常識となっています。

    何より、質問する側も答える側も同じ「人」です。
    もし、この疑問を掲示板を介してではなく、直に人に聞くとしたら、
    聞いた相手が考えている間に何のことわりもなく他へ聞きに行ったりしますか?(ことわりがあってもあまり良い気分にはならないと思いますが)
    また、自分がそうされたらどう感じるでしょうか?

    掲示板が間に入ってるだけで、「相手の気持ちを考える」ことは実際に人に会うときと同じなのです。
記事No.12906 のレス /過去ログ28より / 関連記事表示
削除チェック/

■13051  Re[5]: 画像保存の方法
□投稿者/ どんだけ〜! -(2008/01/23(Wed) 21:23:57)
記事No.12906 のレス /過去ログ28より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -