SSブログ
ソフトウェア開発のようななにか ブログトップ

【備忘録】Google Code からチェックアウトしたったたた【というかリンク】 [ソフトウェア開発のようななにか]

前回(http://pasta-source.blog.so-net.ne.jp/2012-06-25)の続き。
なんでTortoiseSVN入れたかというと、Google Code からソースお持ち帰りしたかったのよね。
で、「Google Code svn」で探していたらわかりやすいページを見つけたのでリンク↓
チェックアウトはリンク先の通りにやったらできたよ!(他は試していない)



実際に自分で試した手順をキャプチャ貼ろうか考えたけど、個人のリポジトリじゃないからやめました。
その辺の線引きはできるようになりたい…
nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:資格・学び

【備忘録】win7 64bit版でTortoiseSVNいれたったた [ソフトウェア開発のようななにか]

ちょっと必要があってTortoiseSVN入れようとしているのですが、
私のPCのOSは64bit版windows 7なので、いちいちインストールできるか確認しないといけないんですよね。
(いや普段からしろよ)
で、念のため「TortoiseSVN 64bit」でbing検索(今ちょっとbingためしてんねん)したらこんな親切なページが↓


あっぶね。適当に入れるとこでした。
とりあえず「○」がついていた1.6.11の64bit版を導入。
以下手順。

  1. http://sourceforge.net/projects/tortoisesvn/files/ で1.6.11の64bit版を探す
    20120625-01.png

    20120625-02.png
    ちょwwwwwねぇwwwwwうはwwwww
    仕方ないので1.6.12を入れようと思ったけど、よく見たら64bit版用のリンクがあったのでクリック
    みっけ!
    20120625-03.png
  2. ダウンロードしたmsiファイルを実行
    20120625-04.png
    20120625-05.png
  3. インストーラーの促すまま進む進む…
    20120625-06.png
    20120625-07.png
    20120625-08.png
    20120625-09.png
    20120625-10.png
    20120625-11.png
    20120625-12.png 20120625-13.png
  4. インストールが終わったら再起動するか聞かれるので、 手動でも自動でもいいので再起動。 (今回は自動)
    20120625-14.png
  5. 再起動して試しにチェックアウトしようとする
    20120625-15.png
    お、できるっぽい。
    まだ更新・コミットを試していませんが、とりあえずチェックアウトはできました。\(^o^)/


ちょっと急いでいるので、日本語化は今回見送り(ではなぜブログを書いている)
暇があったらやります。

あ、そうだ。こういうのって自分の環境最低限晒しておいた方がいいよね。かきかき。
  • Windows Edition
    Windows 7 Home Premium Service Pack 1
  • システム
    システムの種類
    64 ビット オペレーティング システム

他に書く事あるっけ?

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:資格・学び

マルチラインな文字列の描画 [ソフトウェア開発のようななにか]

drawString で改行できなくてムッキーしてたけどできた!
以下サンプル。

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.font.FontRenderContext;
import java.awt.font.LineBreakMeasurer;
import java.awt.font.TextAttribute;
import java.awt.font.TextLayout;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.text.AttributedString;

import javax.imageio.ImageIO;

public class DrawMultilineString {
	/**
	 * 改行コード
	 */
	public static final String LINE_SEPARATOR = System
			.getProperty("line.separator");

	/**
	 * 実行メソッド
	 * 
	 * @param args
	 *            今回は使用しない
	 * @throws IOException
	 *             画像の読み書きに失敗した場合
	 */
	public static void main(String[] args) throws IOException {
		// 出力する文字列
		String text = "01234567890123456789012345678901\r\n12345678901234567890もいもいこでもいもい";

		// この画像の上に文字を出力するよ
		BufferedImage bufferedImage = ImageIO.read(new File("template.png"));

		// 文字列を書きだす位置
		float y = 30;
		float x = 30;

		// 文字列を書きだす領域の幅だよ
		float wrappingWidth = bufferedImage.getWidth() - (x * 2);

		// テキストとテキストの属性を保持するクラスだよ
		AttributedString as = new AttributedString(text);

		// 属性つけるよ!
		as.addAttribute(TextAttribute.FONT, new Font("MS ゴシック", Font.PLAIN, 15));
		as.addAttribute(TextAttribute.FOREGROUND, Color.BLACK);
		as.addAttribute(TextAttribute.BACKGROUND, new Color(0, 0, 0, 0));

		Graphics2D g2 = bufferedImage.createGraphics();

		// 物差しさんが欲しがる情報は俺が持ってる
		FontRenderContext context = g2.getFontRenderContext();
		// 私が物差しです
		LineBreakMeasurer measurer = new LineBreakMeasurer(as.getIterator(),
				context);

		int position;

		// 文字列の最後まで
		while ((position = measurer.getPosition()) < text.length()) {
			// 行のレイアウト
			TextLayout layout;

			// 改行してる?
			int indexOf = text.indexOf(LINE_SEPARATOR, position);

			// してる
			if (position < indexOf) {
				// 改行位置の手前の分までレイアウトもってくる
				layout = measurer.nextLayout(wrappingWidth, indexOf, false);
			}
			// してない
			else {
				// 自動で折り返してるとこまでレイアウト持ってくる
				layout = measurer.nextLayout(wrappingWidth);
			}

			// レイアウトとれなかった
			if (layout == null) {
				break;
			}

			// Y座標を更新(さっきの位置をベースラインの上として、ベースラインに合わせる)
			y += layout.getAscent();
			// 右寄せだったらX座標を更新
			float dx = layout.isLeftToRight() ? 0 : (wrappingWidth - layout
					.getAdvance());
			// 文字列を書きだす
			layout.draw(g2, x + dx, y);
			// Y座標を更新(ベースラインの下 + 行間)
			y += layout.getDescent() + layout.getLeading();
		}

		// 書き出し
		ImageIO.write(bufferedImage, "png", new File("sample.png"));
	}
}


これが背景に使った画像
201111190047_template.png

これが実行結果
201111190048_sample.png

参考資料


タグ:解決 Java2D Java

Javaでメーラーの起動 [ソフトウェア開発のようななにか]

会社の風習(でいいのか?いいか)で日常的に、 ある画像を手渡ししたりメールで贈ったりするのだが、 Excel と mspaint で画像ファイル作成して、メーラー起動して送信っていうのがいいかげんかったるいので、自動化しようとコーディング中…。

んで、画像を作成して適当なフォルダに保存するとこまではできたんだけど、メールに自動で添付する方法がわからん…。

出来れば送信箱に残っていて欲しいので、[送る]メニューよろしく規定のメーラー起動して、画像ファイルは添付済みって感じにしたい。

とりあえず↓で規定のメーラーを起動することはできた。

public class MailTest {
	public static void main(String[] args) throws IOException,
			URISyntaxException {
		String string = String.format("mailto:%s?subject=%s&body=%s&attach=%s",
				"test@test.test", "件名", "本文", "hoge.png");
		Desktop desktop = Desktop.getDesktop();
		// メール作成ウィンドウを起動
		desktop.mail(new URI(string));
	}
}


201111170119_起動はできたんだけど.png

分かってはいたが、 attach じゃ無理か…(一部のメーラーならできるらしい)
どうやってやればいいんだ…だれかたすけて




HelloWorld的な何か [ソフトウェア開発のようななにか]

よくブログなんかで見るコードのあれ、
SyntaxHighlighter というのが有名らしいので試しに使ってみる。



ダウンロードして使うっぽいが、 so-net ブログは .js ファイルのアップロードができない…。
と思ったらホスティングサービスあるのね。よかった。



public class PastaSource {
    public static void main (String[] args) {
        System.out.println("HelloWorld!");
    }
}


できてるかな…。

201111052359_だめだった.png

だめだった…なんだこれ。orz

201111060001_これでどうだ.png

ってよくみたらキーワード広告ONにしっぱなしなだけか。
これでどうだ。

201111060006_できたー!\(^o^)/.png

できたー!いやっほーい!\(^o^)/

GETパラメータ、というかurlに直接書いてあるパラメータ [ソフトウェア開発のようななにか]

が、エンコードもなんもしてなかった。
そしたら

パラメータの両端の「&(アンパサンド)」と「+(プラス)」と「#(ナンバーサイン)」と「?(クエスチョン)」(だったと思う。「+」しかはっきりとした記憶が無い)が消えた。
ようするに
+ほげ

ほげ
になった。


InternetExplorer6のファイルのダウンロードダイアログ [ソフトウェア開発のようななにか]

で苦戦した。



Content-Dispositionをattachment(どうでもいいけど添付ファイル表現タイプと私は呼んでいる)にして、
折角IEでしか使わない想定の機能なのに、
もとのファイル名が長いからエンコードできない状態で、
filenameパラメータにある半角記号を含めたファイル名を指定したらえらいことになった。



①#(ナンバーサイン)の場合



なぜかファイルのダウンロードダイアログのファイル名の「#」が「_(アンダーライン)」に変換された。

実際のファイル名も「_」になってる。



②;(セミコロン)の場合



filenameパラメータの終端と判定されているらしく、「;」以降のファイル名が表示されない。

なので、


ほげ.txt;ふが.exe


みたいな名前にしたら


ほげ.txt


って表示される。
(ちなみにファイル名はダブルクォートで括ってある。なのになんでだぜ)



③&(アンパサンド)の場合



まず、ファイルのダウンロードダイアログのファイル名から「&」が消える。
そんで、ファイル名の最後の「&」の次の文字に、下線が修飾される。

(ちなみに、実際のファイル名は「&」が残ってる)


あ&い&う&え&お.txt


だと


あいうえ.txt


になる。



①は、別件でIE7の記号が化けるのを調べてたときに、
ファイル名に向かない文字を「_」に変えるコードがあるってサポートオンラインに載ってたし、
実際は設定できるけど、#がファイル名にはお勧めできないって聞いたことがあるから、
そういうもんなのかなと勝手に納得。


②と③も、まあそういうもんなのかなと勝手に納得。


③はなんかどうしようもできなさそうだし、①と②はエンコーディングすれば解決するみたいだけど、
前提条件でエンコーディングできないから、
仕方ないから「#」と「;」だけエンコーディングするようにした。


ソフトウェア開発のようななにか ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。