|
分類:[C#]
開発環境 Visual Studio 2005 言語 C#.net
初めて質問させていただきます。宜しくお願いします。 三つのクラスをまとめてDLLを作成した際、一つのクラスしかDLLに含まれない状態になっています。 makeImage.cs ReportMaker.cs sizeChanger.csの三つをビルドしてDLLにすると、makeImage.csのメンバだけがDLLに含まれ、ほかのファイルで定義したクラスは含まれません。
http://msdn.microsoft.com/ja-jp/library/fhws7t7b(v=vs.80).aspx Microsoftから提供されている上記のサンプルでは、両方のファイルともDLLに含まれました。 同じ文法で上記3ファイルについて試したところ、やはりmakeImage.csのみがDLLに含まれました。
最終的に、一つのDLLに上記3ファイルで定義したクラスを含めたいと思っています。 調べても問題点が分からず、質問させていただきました。 お詳しい方、どうかご教授を願います。
以下、ファイルの内容です。
*****************************makeImage.cs************************************* namespace myPicturePicker { public class MakeImage { Bitmap bmp; public MakeImage() {
}
public string CreateImage() { bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); Graphics g = Graphics.FromImage(bmp); g.CopyFromScreen(new Point(0, 0), new Point(0, 0), bmp.Size); g.Dispose(); string fname="test"; string fext=".jpg"; int i=1; while(File.Exists(fname+i.ToString()+fext)){ i++; } bmp.Save(fname + i.ToString() + fext,System.Drawing.Imaging.ImageFormat.Jpeg); return (fname + i.ToString() + fext); } } }
***************************sizeChanger.cs********************************* namespace myPicturePicker { class sizeChanger { private int imgWidth=0; private int imgHeight=0;
public sizeChanger() {
} public sizeChanger(int hei, int wid,int dpi) { imgHeight =changeMMtoPixel(hei,dpi); imgWidth = changeMMtoPixel(wid,dpi); }
public string changeImagesize(string imgpath) { Bitmap bmp = new Bitmap(imgpath); bmp=ResizeImage(bmp, imgWidth, imgHeight); bmp.Save(imgpath,System.Drawing.Imaging.ImageFormat.Jpeg); return (imgpath); } private Bitmap ResizeImage(Bitmap image, double dw, double dh) { double hi; double imagew = image.Width; double imageh = image.Height;
if ((dh / dw) <= (imageh / imagew)) { hi = dh / imageh; } else { hi = dw / imagew; } int w = (int)(imagew * hi); int h = (int)(imageh * hi);
Bitmap result = new Bitmap(w, h); Graphics g = Graphics.FromImage(result); g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; g.DrawImage(image, 0, 0, result.Width, result.Height);
return result; }
private int changeMMtoPixel(int mm, int dpi) { const double sInch = 25.4;
return ((int)((double)mm / sInch * (double)dpi)); }
} }
*******************ReportMaker.cs******************************
namespace myPicturePicker { class ReportMaker { public MakeImage mi; public sizeChanger szc; string imgHeight, imgWidth,imgDPI; string imgPath="";
public ReportMaker(){ StreamReader sr = new StreamReader("settings.ini",Encoding.GetEncoding("Shift-jis")); this.imgHeight = sr.ReadLine(); this.imgWidth = sr.ReadLine(); this.imgDPI = sr.ReadLine(); this.mi = new MakeImage(); this.szc = new sizeChanger(int.Parse(this.imgHeight), int.Parse(this.imgWidth), int.Parse(this.imgDPI)); sr.Dispose(); }
public string generateReport(string strImg) {
return (strImg); }
public void imageMake() { this.imgPath = mi.CreateImage(); } public void sizeChange() { this.imgPath = szc.changeImagesize(this.imgPath); } } }
|