Bill Lange
-
Posts
4 -
Joined
-
Last visited
Posts posted by Bill Lange
-
-
Rick,
Thanks for the safety tips!
Bill
private void btnConvert_Click(object sender, EventArgs e) { PdnFileType aPft = new PdnFileType(); JpegFileType aJft = new JpegFileType(); Document aDocument; Stream aInputStream = null; Stream aOutputStream = null; try { // Read pdn file from file system. aInputStream = new FileStream(@"C:\TEMP\LayerTest.pdn", FileMode.Open); // Convert PFT stream ot a document. aDocument = aPft.Load(aInputStream); aInputStream.Close(); // Set save parameters. JpegSaveConfigToken aJpgToken = new JpegSaveConfigToken(100); ProgressEventHandler aHandler = null; Surface aSurface = new Surface(aDocument.Size); // Create output stream. aOutputStream = new FileStream(@"C:\TEMP\LayerTest.jpg", FileMode.Create); // Save the document as a jpg file. aJft.Save(aDocument, aOutputStream, aJpgToken, aSurface, aHandler, false); aOutputStream.Close(); } finally { if (aInputStream != null) { aInputStream.Dispose(); } if (aOutputStream != null) { aOutputStream.Dispose(); } } MessageBox.Show("Done."); }
-
I seem to have gotten it to work with the following to changes:
// Flatten the document. Document aDocumentTemp = aDocument.Flatten();
and then
// Save the document as a jpg file. aJft.Save(aDocumentTemp, aOutputStream, aJpgToken, aSurface, aHandler, false);
Doh!
Thanks
Bill
-
In attempting to learn the PDN programming, I am writing a little utility that will convert my .pdn files to .jpg so that I can view them. I kind of followed the example in the PDNBench source. The code snippet below successfully reads in a two-layer .pdn file, but when I write out the file, I only see the second layer (text), not the two layers (photo + text) merged together as I expected. I assume that I am missing something with either document.flatten or the surface. Any suggestions would be helpful.
Thanks
Bill
PdnFileType aPft = new PdnFileType(); JpegFileType aJft = new JpegFileType(); Document aDocument; Stream aInputStream = null; Stream aOutputStream = null; try { // Read pdn file from file system. LayerTest.pdn is a pdn file with two layers. // The first layer is a photograph. The second layer is just some random text. aInputStream = new FileStream(@"C:\TEMP\LayerTest.pdn", FileMode.Open); // Convert PFT stream ot a document. aDocument = aPft.Load(aInputStream); aInputStream.Close(); // Flatten the document. aDocument.Flatten(); // Set save parameters JpegSaveConfigToken aJpgToken = new JpegSaveConfigToken(100); ProgressEventHandler aHandler = null; Surface aSurface = ((BitmapLayer)aDocument.Layers[0]).Surface; // Create output streem. aOutputStream = new FileStream(@"C:\TEMP\LayerTest.jpg", FileMode.Create); // Save the document as a jpg file. aJft.Save(aDocument, aOutputStream, aJpgToken, aSurface, aHandler, false); aOutputStream.Close(); } finally { if (aInputStream != null) { aInputStream.Dispose(); } if (aOutputStream != null) { aOutputStream.Dispose(); } }
Can't Install Paint.net!
in Troubleshooting & Bug Reports
Posted
Rick,
I was able to generate the same error by attempting to reinstall the latest pdn installer on a Dell XPS M1330 Vista Ultimate machine.
The pdnmsiinstall log displays the following:
started: 1/20/2008 18:59:54 ===
Error 1935. An error occurred during the installation of assembly 'policy.9.0.Microsoft.VC90.OpenMP,version="9.0.21022.8",publicKeyToken="1fc8b3b9a1e18e3b",processorArchitecture="amd64",type="win32-policy"'. Please refer to Help and Support for more information. HRESULT: 0x800736B3. assembly interface: IAssemblyCacheItem, function: Commit, component: {FC0C50BF-71B9-3A20-B3F7-26F619444329}
=== Logging stopped: 1/20/2008 19:21:16 ===
The pdnsetupngeninstall log (in the same folder as the pdnmsiinstall log) displays quite a bit more information:
-------------
1/20/2008 7:21:15 PM - Opening log
1/20/2008 7:21:15 PM - args[0] = /delete
1/20/2008 7:21:15 PM - args[1] = DESKTOPSHORTCUT=1
1/20/2008 7:21:15 PM - args[2] = PDNUPDATING=0
1/20/2008 7:21:15 PM - args[3] = SKIPCLEANUP=0
1/20/2008 7:21:15 PM - args[4] = PROGRAMSGROUP=
1/20/2008 7:21:15 PM - args[5] = QUEUENGEN=1
1/20/2008 7:21:15 PM - /delete specified, setting delete=true
1/20/2008 7:21:15 PM - setting queueNgen=true
1/20/2008 7:21:15 PM - Starting ngen queueing
1/20/2008 7:21:15 PM - InstallAssembly(FileTypes\DdsFileType.dll, True, True, False)
1/20/2008 7:21:15 PM - run:C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe uninstall "DdsFileType" /AppBase:"C:\Program Files\Paint.NET"
1/20/2008 7:21:15 PM - InstallAssembly(ICSharpCode.SharpZipLib.dll, True, True, False)
1/20/2008 7:21:15 PM - run:C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe uninstall "ICSharpCode.SharpZipLib" /AppBase:"C:\Program Files\Paint.NET"
1/20/2008 7:21:15 PM - InstallAssembly(Interop.WIA.dll, True, True, False)
1/20/2008 7:21:15 PM - run:C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe uninstall "Interop.WIA" /AppBase:"C:\Program Files\Paint.NET"
1/20/2008 7:21:15 PM - InstallAssembly(PaintDotNet.Base.dll, True, True, False)
1/20/2008 7:21:15 PM - run:C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe uninstall "PaintDotNet.Base" /AppBase:"C:\Program Files\Paint.NET"
1/20/2008 7:21:15 PM - InstallAssembly(PaintDotNet.Core.dll, True, True, False)
1/20/2008 7:21:15 PM - run:C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe uninstall "PaintDotNet.Core" /AppBase:"C:\Program Files\Paint.NET"
1/20/2008 7:21:15 PM - InstallAssembly(PaintDotNet.Data.dll, True, True, False)
1/20/2008 7:21:15 PM - run:C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe uninstall "PaintDotNet.Data" /AppBase:"C:\Program Files\Paint.NET"
1/20/2008 7:21:15 PM - InstallAssembly(PaintDotNet.Effects.dll, True, True, False)
1/20/2008 7:21:15 PM - run:C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe uninstall "PaintDotNet.Effects" /AppBase:"C:\Program Files\Paint.NET"
1/20/2008 7:21:15 PM - InstallAssembly(PaintDotNet.exe, True, True, False)
1/20/2008 7:21:15 PM - run:C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe uninstall "PaintDotNet" /AppBase:"C:\Program Files\Paint.NET"
1/20/2008 7:21:15 PM - InstallAssembly(PaintDotNet.Resources.dll, True, True, False)
1/20/2008 7:21:15 PM - run:C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe uninstall "PaintDotNet.Resources" /AppBase:"C:\Program Files\Paint.NET"
1/20/2008 7:21:16 PM - InstallAssembly(PaintDotNet.StylusReader.dll, True, True, False)
1/20/2008 7:21:16 PM - run:C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe uninstall "PaintDotNet.StylusReader" /AppBase:"C:\Program Files\Paint.NET"
1/20/2008 7:21:16 PM - InstallAssembly(PaintDotNet.SystemLayer.dll, True, True, False)
1/20/2008 7:21:16 PM - run:C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe uninstall "PaintDotNet.SystemLayer" /AppBase:"C:\Program Files\Paint.NET"
1/20/2008 7:21:16 PM - InstallAssembly(Interop.WIA.dll, True, True, True)
1/20/2008 7:21:16 PM - run:C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe uninstall "Interop.WIA" /AppBase:"C:\Program Files\Paint.NET"
1/20/2008 7:21:16 PM - InstallAssembly(WiaProxy32.exe, True, True, True)
1/20/2008 7:21:16 PM - run:C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe uninstall "WiaProxy32" /AppBase:"C:\Program Files\Paint.NET"
1/20/2008 7:21:16 PM - Finished with ngen queueing
1/20/2008 7:21:16 PM - setting createDesktopShortcut=true
1/20/2008 7:21:16 PM - set programsShortcutGroup=
1/20/2008 7:21:16 PM - GetSpecialFolderPath(25)
1/20/2008 7:21:16 PM - SHGetFolderPath(32793)
1/20/2008 7:21:16 PM - SHGetFolderPath returning C:\Users\Public\Desktop
1/20/2008 7:21:16 PM - GetSpecialFolderPath returning C:\Users\Public\Desktop
1/20/2008 7:21:16 PM - GetSpecialFolderPath(23)
1/20/2008 7:21:16 PM - SHGetFolderPath(32791)
1/20/2008 7:21:16 PM - SHGetFolderPath returning C:\ProgramData\Microsoft\Windows\Start Menu\Programs
1/20/2008 7:21:16 PM - GetSpecialFolderPath returning C:\ProgramData\Microsoft\Windows\Start Menu\Programs
1/20/2008 7:21:16 PM - linkName=Paint.NET
1/20/2008 7:21:16 PM - description=Create, edit, scan, and print images and photographs.
1/20/2008 7:21:16 PM - desktopLinkPath=C:\Users\Public\Desktop\Paint.NET.lnk
1/20/2008 7:21:16 PM - programsShortcutDir=C:\ProgramData\Microsoft\Windows\Start Menu\Programs
1/20/2008 7:21:16 PM - programsLinkPath=C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Paint.NET.lnk
1/20/2008 7:21:16 PM - workingDirectory=C:\Program Files\Paint.NET
1/20/2008 7:21:16 PM - targetPath=C:\Program Files\Paint.NET\PaintDotNet.exe
1/20/2008 7:21:16 PM - retrieving HKLM\SOFTWARE\Paint.NET\ProgramsShortcutPath
1/20/2008 7:21:16 PM - path=C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Paint.NET.lnk
1/20/2008 7:21:16 PM - IsPathInDirectory(C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Paint.NET.lnk, C:\ProgramData\Microsoft\Windows\Start Menu\Programs)
1/20/2008 7:21:16 PM - IsPathInDirectory(C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Paint.NET.lnk, C:\ProgramData\Microsoft\Windows\Start Menu\Programs) returning True
1/20/2008 7:21:16 PM - about to register shell extension
1/20/2008 7:21:16 PM - ... 32-bit
1/20/2008 7:21:16 PM - shellExtensionPaths[0] = C:\Program Files\Paint.NET\ShellExtension_x86.dll
1/20/2008 7:21:16 PM - ... unregister shell extension
1/20/2008 7:21:16 PM - ... 0: CLSID\{D292F82A-50BE-4351-96CC-E86F3F8049DA}
1/20/2008 7:21:16 PM - Exception while deleting: System.ArgumentException: Cannot delete a subkey tree because the subkey does not exist.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at Microsoft.Win32.RegistryKey.DeleteSubKeyTree(String subkey)
at PaintDotNet.SetupNgen.MainImpl(String[] args)
1/20/2008 7:21:16 PM - Closing log
Also note that there is no such file as pending.xml that I can find in the ../winsxs folder.
Regards,
Bill