Jump to content

brodriguez

Newbies
  • Posts

    6
  • Joined

  • Last visited

Everything posted by brodriguez

  1. Great, now it works as expected, at least from my POV. Did you discover the logic behind ? Does it work also for ColorWasher ?
  2. I try playing with the PiPL of the plug-ins but there are no values for which I can get the FilterRect not equal to the image size. Otherwise in the SDK manual (3.0.4) when talking about filter cases, says that selection comes as mask data, against what tell in the filter parameters section. Unfortunatelly I can't help you here.
  3. Yes it is true, this is a plug-in bug, which I'm not aware. The reason why this bug was unnoticed is that FilterRect is in fact replaced time ago with the mask even for rectangular selections, and it is equal to the image size, this is valid for Photoshop, PSP, Photoline, Photobie, etc. AFAIK at present there are only 2 plug-in hosts which use the filterRect non equal to imageSize, pspi(The Gimp) and PSFilterPdn. I suppose the source of the confusion is that there is something wrong/false in the Photoshop SDK docs. From sdk manual in the description of the FilterRecord fields (f.i. the last freely usable sdk manual 3.0.4) "haveMask: This field is set TRUE if and only if a non–rectangular area has been selected." The mask is used for any selection rectangular or not, this is true for Photoshop and the other editors that I mention previously. You need only an array of bytes with 0 or 255 values and the size of the image, and set the filterRect equal to the imageSize. Forgetting the filterRect makes it easier.
  4. Great, now both versions 32 and 64 work OK. Excuse me , but I've found another bug, although it is less serious than the previous ones, and depending on the ps plug-in used can't even be detected. It seems PSFilterPdn don't send the selection mask to the ps plug-in, instead it crop the image to the minimal rectangle which include the selection inside. This method is wrong if the plug-in take into account values outside the selection to calculate the result inside it, something that is very usual. This method could be valid for rectangular selections, if the previous problem doesn't exits, but not for non rectangular selections. There are other undesirable consequences, f.i. if the plug-in get the selection mask, it can show the preview with real result, with the selected area filtered and the non selected area unfiltered, something impossible if the image is simply cropped. If you need to test the selection mask, you could use my GrayDither plug-in, the preview take into account the mask, and because the filtered area becomes grayscale it is easier to differentiate it.
  5. Thanks for your quick answer. Now the 32 bit version works OK. But since my previous message, I've found a problem in the 64 bit version. After the first plug-in invocation, which works OK, the next invocation always crash, it doesn't matter if it is the same plug-in or another one (I'm testing only with my plug-ins). After some time analyzing the problem, finally I've found the source of the error. It is not clear initially because pdncrash only detect a bad memory exception, and it takes more than usual because I can't get visual studio debugger work in this configuration, I suppose there is a problem when managed code call unmanaged code. The values of inData, inRowBytes, outData and outRowBytes received in FilterRecord, when the selector is filterSelectorContinue are all zero (and wrong) in the second invocation The values of filterRect, inRect and outRect are all OK. Closing the plug-in selection screen of PSFilterPdn between plug-in invocations don't solve the problem. Closing the image and opening it again before the second invocation don't solve the problem. Closing the image and opening a different one before the second invocation, do solve the problem. I hope the explanation helps.
  6. Good work, Paint.Net need this plug-in, with it Paint.NET becomes the second non adobe application which support 64 bit photoshop plug-ins, until now there is only one, Photoline. I'm the developer of Ximagic photoshop plugins. After publishing the last version two days ago, I discover this pdn plugin and test it (with ver 1.0.3.2). 64 bit mode works great, but I've found what seems to be a bug in the 32 bit mode. If the plug-in don't specify which assemblies it need (using ISOLATION_AWARE_ENABLED=0) then the UI don't use the XP style but the classic windows one. This is what the last version of the plug-ins do. If the plug-in isolate itself from the host and specify the assemblies (using ISOLATION_AWARE_ENABLED=1) which is the recommended MS approach, then PDN crash. This is what the next version of the plug-ins will do. This is the only way to use always XP style, even if the plug-in don't load it (like The GIMP or Paint.NET+PSFilterPdn 32 bits). The manifest dependency is the following manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*' And the pdncrash.log content is: Se creó este archivo de texto porque se bloqueó Paint.NET. Por favor, envíe este archivo a crashlog@getpaint.net para que podamos diagnosticar y resolver el problema. Application version: Paint.NET v3.5.8 (Final Release compilación 3.58.4081.24580) Time of crash: 01/04/2011 13:01:32 Application uptime: 00:05:49.4190000 Install directory: n/a Current directory: C:\Program Files\Paint.NET OS Version: 6.0.6001.65536 Service Pack 1 Workstation x64 .NET version: CLR 2.0.50727.3053 x86, FX 2.0 (rtm sp1 sp2) 3.0 (rtm sp1 sp2) 3.5 (rtm sp1 sp1_CP) Processor: 4x "Intel® Core™2 Quad CPU Q6600 @ 2.40GHz" @ ~2400MHz (DEP, SSE, SSE2, SSE3, SSSE3), fps=0x1 Physical memory: 4093 MB UI DPI: 96,00 dpi (1,00x scale) UI Theme: Aero/Aero (Aero.msstyles) Updates: err, 31/03/2011 Locale: pdnr.c: es-ES, hklm: n/a, hkcu: n/a, cc: es-ES, cuic: es-ES Managed assemblies: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @ C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll PaintDotNet, Version=3.58.4081.24586, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\PaintDotNet_32.exe System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @ C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll PaintDotNet.SystemLayer, Version=3.58.4081.24580, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\PaintDotNet.SystemLayer.dll System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @ C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @ C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll PaintDotNet.Base, Version=3.58.4081.24574, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\PaintDotNet.Base.dll WindowsBase, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 @ C:\Windows\assembly\GAC_MSIL\WindowsBase\3.0.0.0__31bf3856ad364e35\WindowsBase.dll System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @ C:\Windows\assembly\GAC_MSIL\System.Core\3.5.0.0__b77a5c561934e089\System.Core.dll PaintDotNet.Resources, Version=3.58.4081.24580, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\PaintDotNet.Resources.dll PaintDotNet.Core, Version=3.58.4081.24581, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\PaintDotNet.Core.dll PaintDotNet.Data, Version=3.58.4081.24584, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\PaintDotNet.Data.dll System.Windows.Forms.resources, Version=2.0.0.0, Culture=es, PublicKeyToken=b77a5c561934e089 @ C:\Windows\assembly\GAC_MSIL\System.Windows.Forms.resources\2.0.0.0_es_b77a5c561934e089\System.Windows.Forms.resources.dll PaintDotNet.Effects, Version=3.58.4081.24585, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\PaintDotNet.Effects.dll PaintDotNet.SystemLayer.Native.x86, Version=3.58.4079.4951, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\PaintDotNet.SystemLayer.Native.x86.dll msvcm90, Version=9.0.30729.4148, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @ C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\msvcm90.dll mscorlib.resources, Version=2.0.0.0, Culture=es, PublicKeyToken=b77a5c561934e089 @ C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll PSFilterPdn, Version=1.0.3.2, Culture=neutral, PublicKeyToken=null @ C:\Program Files\Paint.NET\Effects\PSFilterPdn.dll System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @ C:\Windows\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll Native modules: C:\Program Files\Paint.NET\PaintDotNet_32.exe, version='3.58.4081.24586' C:\Windows\SysWOW64\ntdll.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\mscoree.dll, version='4.0.31106.0 (Main.031106-0000)' C:\Windows\syswow64\KERNEL32.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\ADVAPI32.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\RPCRT4.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\Secur32.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\SHLWAPI.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\syswow64\GDI32.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\USER32.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\msvcrt.dll, version='7.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\IMM32.DLL, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\MSCTF.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\syswow64\LPK.DLL, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\USP10.dll, version='1.0626.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.6001.18000_none_5cdbaa5a083979cc\comctl32.dll, version='6.10 (vista_rtm.061101-2205)' C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4053_none_d08d7da0442a985d\MSVCR80.dll, version='8.00.50727.4053' C:\Windows\syswow64\shell32.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\ole32.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\assembly\NativeImages_v2.0.50727_32\mscorlib\9adb89fa22fd5b4ce433b5aca7fb1b07\mscorlib.ni.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorsec.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\system32\WINTRUST.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\CRYPT32.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\system32\MSASN1.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\system32\USERENV.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\syswow64\imagehlp.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.6001.18000_none_886786f450a74a05\COMCTL32.dll, version='5.82 (vista_rtm.061101-2205)' C:\Windows\system32\rsaenh.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\psapi.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\system32\ncrypt.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\BCRYPT.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\NTMARTA.DLL, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\syswow64\WLDAP32.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\syswow64\WS2_32.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\syswow64\NSI.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\SAMLIB.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\GPAPI.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\system32\slc.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\cryptnet.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\SensApi.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\system32\NETAPI32.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\Cabinet.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\uxtheme.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorjit.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\assembly\NativeImages_v2.0.50727_32\System\aa7926460a336408c8041330ad90929d\System.ni.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Core\4cb01a1063e99bd543ca34547e28bd44\System.Core.ni.dll, version='3.5.30729.1 built by: SP' C:\Windows\assembly\NativeImages_v2.0.50727_32\WindowsBase\400510870f710fd409ee7fc71b4a69aa\WindowsBase.ni.dll, version='3.0.6920.1453 built by: NetFX' C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Drawing\6978f2e90f13bc720d57fa6895c911e2\System.Drawing.ni.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Windows.Forms\9a254c455892c02355ab0ab0f0727c5b\System.Windows.Forms.ni.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\assembly\NativeImages_v2.0.50727_32\PaintDotNet.Base\1e266e521e32ca0d84c4a59248066e25\PaintDotNet.Base.ni.dll, version='3.58.4081.24574' C:\Windows\assembly\NativeImages_v2.0.50727_32\PaintDotNet.SystemL#\136b54551a4775cefdd076e4cf34d6e9\PaintDotNet.SystemLayer.ni.dll, version='3.58.4081.24580' C:\Windows\assembly\NativeImages_v2.0.50727_32\PaintDotNet.SystemL#\7fe2040d485887647dc31c5025c10df2\PaintDotNet.SystemLayer.Native.x86.ni.dll, version='3.58.0.0' C:\Windows\assembly\NativeImages_v2.0.50727_32\Interop.WIA\efca70ca873ab8817754464e26c18833\Interop.WIA.ni.dll, version='1.0.0.0' C:\Program Files\Paint.NET\PaintDotNet.Resources.dll, version='3.58.4081.24580' C:\Program Files\Paint.NET\PaintDotNet.Core.dll, version='3.58.4081.24581' C:\Program Files\Paint.NET\Native.x86\PaintDotNet.Native.x86.dll, version='3.58.0.0' C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\MSVCR90.dll, version='9.00.30729.4148' C:\Windows\WinSxS\x86_microsoft.vc90.openmp_1fc8b3b9a1e18e3b_9.0.30729.4148_none_80b7c8a91e9dd16a\VCOMP90.DLL, version='9.00.30729.4148 built by: QFE' C:\Program Files\Paint.NET\PaintDotNet.Data.dll, version='3.58.4081.24584' C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.0.6001.18000_none_9e752e5ac9c619f3\gdiplus.dll, version='5.2.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\assembly\GAC_MSIL\System.Windows.Forms.resources\2.0.0.0_es_b77a5c561934e089\System.Windows.Forms.resources.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Program Files\Paint.NET\PaintDotNet.Effects.dll, version='3.58.4081.24585' C:\Program Files\Paint.NET\PaintDotNet.SystemLayer.Native.x86.dll, version='3.58.0.0' C:\Windows\syswow64\OLEAUT32.dll, version='6.0.6001.18000' C:\Windows\WinSxS\x86_microsoft.vc90.atl_1fc8b3b9a1e18e3b_9.0.30729.4148_none_51ca66a2bbe76806\ATL90.DLL, version='9.00.30729.4148' C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\msvcm90.dll, version='9.00.30729.4148' C:\Windows\assembly\GAC_MSIL\mscorlib.resources\2.0.0.0_es_b77a5c561934e089\mscorlib.resources.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\system32\wtsapi32.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\WINSTA.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\version.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\dwmapi.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\syswow64\SetupApi.dll, version='6.0.6001.18000 (longhorn_rtm.080118-1840)' C:\Windows\system32\dciman32.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' C:\Program Files\Paint.NET\Effects\PSFilterPdn.dll, version='1.0.3.2' C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Xml\36f3953f24d4f0b767bf172331ad6f3e\System.Xml.ni.dll, version='2.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\Microsoft.NET\Framework\v2.0.50727\diasymreader.dll, version='8.0.50727.3053 (netfxsp.050727-3000)' C:\Windows\system32\RichEd20.DLL, version='5.31.23.1228' C:\Windows\system32\apphelp.dll, version='6.0.6000.16386 (vista_rtm.061101-2205)' Exception details: System.FormatException: La cadena de entrada no tiene el formato correcto. en System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) en System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) en PSFilterPdn.PsFilterPdnConfigDialog.UpdateProxyProgress(Object sender, DataReceivedEventArgs e) en System.Diagnostics.Process.OutputReadNotifyUser(String data) en System.Diagnostics.AsyncStreamReader.FlushMessageQueue() en System.Diagnostics.AsyncStreamReader.GetLinesFromStringBuilder() en System.Diagnostics.AsyncStreamReader.ReadBuffer(IAsyncResult ar) en System.Runtime.Remoting.Messaging.AsyncResult.SyncProcessMessage(IMessage msg) en System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink) en System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.DoAsyncCall() en System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.ThreadPoolCallBack(Object o) en System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object state) en System.Threading.ExecutionContext.runTryCode(Object userData) en System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) en System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) en System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack) en System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state) ------------------------------------------------------------------------------ Hope it helps
×
×
  • Create New...