スキップしてメイン コンテンツに移動

投稿

10月, 2011の投稿を表示しています

Java: Resize Image Using Graphics2D

Here is a code for resizing image using Graphics2D. I also put bunch of rendering hints in the example code. Hope it helps for your understanding. private static BufferedImage resize(BufferedImage image, int width, int height) { BufferedImage shrinkImage = new BufferedImage(width,height, image.getType()); Graphics2D g2d = shrinkImage.createGraphics(); // rendering hints g2d.setRenderingHint(KEY_ALPHA_INTERPOLATION, VALUE_ALPHA_INTERPOLATION_QUALITY); g2d.setRenderingHint(KEY_ANTIALIASING, VALUE_ANTIALIAS_ON); g2d.setRenderingHint(KEY_COLOR_RENDERING, VALUE_COLOR_RENDER_QUALITY); g2d.setRenderingHint(KEY_DITHERING, VALUE_DITHER_ENABLE); g2d.setRenderingHint(KEY_TEXT_ANTIALIASING, VALUE_TEXT_ANTIALIAS_ON); g2d.setRenderingHint(KEY_RENDERING, VALUE_RENDER_QUALITY); g2d.setRenderingHint(KEY_INTERPOLATION, VALUE_INTERPOLATION_BILINEAR); g2d.setRenderingHint(KEY_FRACTIONALMETRICS, VALUE_FRACTIONALME

C#でExcelファイルの読み書き

C#でExcelファイルを読み書きするためには、まず以下の2つの準備が必要です。 Microsoft Office (Excel)のインストール Visual Studioから「参照の追加」=> 「COM」タブからMicrosoft Excel 11 Object Libraryを追加(COMのバージョン部分は、インストールしたOfficeのバージョンに依存します) サンプルコード 以下は、実際にExcelファイルを開いて、Cellへの読み書き、sheetの追加を行うサンプルコードです。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Office.Interop.Excel; namespace Example { class ExcelExample { private static void RunExcelExample() { Excel.Workbook book = null; Excel.Application excel = null; try { excel = new Excel.Application(); book = excel.Workbooks.Open(@"c:\test.xls", Type.Missing, true, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,

ActionScript3.0: Reflection Example

I introduce some tips for reflection (not reflection of image but "programatic") of ActionScript 3.0. getDefinitionByName If you would like to Class object getDefinitionByName function should help. var c:Class = getDefinitionByName("flash.display.Sprite") as Class; If you would like to know details information of Class you can use describeType , which returns class information as Xml format. Reflective Class Instantiation import flash.utils.getDefinitionByName; public class Instantiator { private var classRef:Class; public function Instantiator(className:String) { this.classRef = getDefinitionByName(className) as Class; } public function newInstance(...args):Object { if(args.length == 0){ return new classRef(); } else { return new classRef(args); } } } Example usage: import flash.display.Sprite; import seedion.io.XMLExporter; // class will be instantiated at line with (*) import utils.tool.Instantiat

JavaでCMYK Color SpaceのJPEGを読み込む

Read CMYK JPEG Image CMYKのJPEG画像をJavaで読む方法ではまったので、Google先生で色々調べて見ました。 Problem reading JPEG image using ImageIO.read(File file) によるとImageIOで読めないJPEGファイルはほとんどCMYK Color Spaceの画像のようです。 私の場合もまず読めないJPEGがあることでCMYKのJPEGであることに気がつきました。 という訳で、CMYKのJPEGをどうやって読み込めばいいのということで色々調べてみました。 以下のstackoverflowによると、基本的にまずCMYKのColor Spaceで読み込んで、それからRGB系のColor Spaceに変換することでJavaでも読み込みができるようです。 Pure Java alternative to JAI ImageIO for detecting CMYK images How do I convert images between CMYK and RGB in ColdFusion (Java)? How to convert from CMYK to RGB in Java correctly? ただし、このCMYKのColor Spaceインスタンスを作るのが結構面倒です。 前述のstackoverflowによると、以下の方法があるようです。 CMYKのColorSpaceをSanselanライブラリを使って画像から抜き出す ICC_Profile iccProfile = Sanselan.getICCProfile(new File("filename.jpg")); ColorSpace cs = new ICC_ColorSpace(iccProfile); 自分でCMYKColorSpaceクラスを定義して、インスタンス化する iccプロファイルから、ColorSpaceインスタンスを生成する。ただしiccプロファイルはどこかから自前に用意する必要があります。 ICC_Profile iccProfileCYMK = ICC_Profile.getInstance(new FileInputStre

JavaでDirectoryをZIP圧縮・解凍

JavaでDirectoryをZIP圧縮するためのソースコード private static final int _4K_BYTES = 4096; // core part... piece of cake.... public final static void zipDirecory(File dir, File zipFile) throws IOException { if (!dir.isDirectory()) { throw new IllegalArgumentException("Not directory :" + dir); } try (ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFile))) { File parentFile = dir.getParentFile(); Path baPath = parentFile == null ? dir.toPath() : parentFile.toPath(); zipDirectory(dir, new byte[_4K_BYTES], out, baPath); } } private static void zipDirectory(File dir, byte[] bs, ZipOutputStream out, Path basePath) throws IOException { for (File f : dir.listFiles()) { if (f.isDirectory()) { zipDirectory(f, bs, out, basePath); } else { out.putNextEntry(new ZipEntry(basePath.relativize(f.toPath()).toFile().getPath())); copy(new FileInputStream(f), out, bs); } } } // trivial helper methods... please use java c

ActionScript 3.0: Play Sound with Drawing FFT Spectrum

I have written simple example for playing mp3 sound with drawing sound FFT spectrum. Here is the code. package utils.sound { import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.utils.ByteArray; import flash.media.SoundMixer; import flash.media.Sound; import ui.Button; import flash.net.URLRequest; import flash.media.SoundChannel; public class SoundPlayerTemp extends Sprite { private static const MAX_CHANEL :int = 256; private var w:int = 1; private var maxSize:int = 400; private const OFFSET_Y:int = 20; private var urlReq :URLRequest = new URLRequest("file://c:/temp/test.mp3"); // any button is fine.... private var startButton:Button = new Button(maxSize - 50, 100, OFFSET_Y); private var snd:Sound = new Sound(); private var sndCh:SoundChannel; private var playState:B

Java: Reflection Example: Get All Static Field Names in Class

This post is just as I wrote in the title - "get all static field names in class". I think you can easily imagine how to get other similar information by reflection... public final static Collection<String> getStaticFieldNames(Class<?> classObj){ ArrayList<String> list = new ArrayList<String>(); Field[] fields = classObj.getFields(); for(Field field: fields){ if(Modifier.isStatic(field.getModifiers())){ list.add(field.getName()); } } return list; }