public void Should_add_files_to_project_as_embedded_resource() { const string pathToFiles = @"C:\Temp"; IProjectModifierFacade modifier = new ProjectModifierFacade(new Project()); var pathToProjectDirectory = Path.Combine(pathToFiles, Guid.NewGuid().ToString()); Directory.CreateDirectory(pathToProjectDirectory); var pathToProjectFile = pathToProjectDirectory + "\\testproject.csproj"; modifier.Project.Save(pathToProjectFile); var param = new EstablishLinkParams(BuildAction.EmbeddedResource, @"C:\Temp\SampleResponse.xml", @"Docs\SampleResponse.xml"); modifier.EstablishLinkToFile(param); var item = modifier.Project.GetItems("EmbeddedResource").Single(i => i.UnevaluatedInclude.EndsWith(".xml")); item.UnevaluatedInclude.Should().Be("../SampleResponse.xml"); item.GetMetadataValue("Link").Should().Be("Docs\\SampleResponse.xml"); }
// COMMENTED OUT: because GDI.net doesn't support our pixel format /// <summary> /// In addition to reading out the image data, converts it into a Bitmap /// </summary> //public static void SaveImageToVernacularFormat(StartExposureParams2 sep, ushort[,] data, string filename, ImageFormat format) //{ // // find min and max // int min = Int32.MaxValue; // int max = Int32.MinValue; // for (int j = 0; j < sep.height; j++) // for (int i = 0; i < sep.width; i++) // { // if (data[j, i] < min) // min = data[j, i]; // if (data[j, i] > max) // max = data[j, i]; // } // // construct a new array with scales // byte[,] b = new byte[sep.height, sep.width]; // for (int j = 0; j < sep.height; j++) // for (int i = 0; i < sep.width; i++) // b[j, i] = (byte) ( (data[j, i] - min) * 256.0 / (max - min) ); // // construct the bitmap object with the bytes // GCHandle bgch = GCHandle.Alloc(b); // using (Bitmap bmp = new Bitmap(sep.width, sep.height, /*sep.width * sizeof(byte),*/ PixelFormat.Format8bppIndexed))//, GCHandle.ToIntPtr(bgch))) // { // /* // BitmapData bd = bmp.LockBits(new Rectangle(0, 0, sep.width, sep.height), ImageLockMode.WriteOnly, PixelFormat.Format8bppIndexed); // Marshal.Copy(GCHandle.ToIntPtr(bgch), 0, bd.Scan0, sep.width * sep.height); // bmp.UnlockBits(bd); // */ // // create a pallette for the damn image // for (int i = 0; i < 256; i++) // bmp.Palette.Entries[i] = Color.FromArgb(i, i, i); // for (int j = 0; j < sep.height; j++) // for (int i = 0; i < sep.width; i++) // bmp.SetPixel(i, j, Color.FromArgb(b[i, j])); // // write it out // bmp.Save(filename, format); // } // // clean up // bgch.Free(); //} /// <summary> /// Tries to autodetect ImageFormat based on filename /// </summary> //public static void WaitEndReadAndSaveExposure(StartExposureParams2 sep, string filename) //{ // // grab the extension // string ext = Path.GetExtension(filename); // // strip off the leading dot, if it's there // if (ext.StartsWith(".")) // ext = ext.Substring(1); // // pick the format based on it matching the strings used in the ImageFormat enum // ImageFormat format = (ImageFormat) Enum.Parse(typeof(ImageFormat), ext); // // do the heaving lifting // throw new Exception("Not yet imnplemented, probably never will be, and probably shouldn't be"); // //WaitEndAndReadExposureAsBitmap(sep).Save(filename, format); //} // // Shortcut commands // public static CameraType EstablishLink() { EstablishLinkParams elp = new EstablishLinkParams(); return(UnivDrvCommand <EstablishLinkResults>(Cmd.CC_ESTABLISH_LINK, elp).cameraType); }