Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Strange exception #68

Closed
SagSaj opened this issue Aug 15, 2018 · 1 comment
Closed

Strange exception #68

SagSaj opened this issue Aug 15, 2018 · 1 comment

Comments

@SagSaj
Copy link

SagSaj commented Aug 15, 2018

Hi, when i try do smth like

   string dir = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string filename = dir + @"\1111.png";
            var imageElement = new Capture.Hook.Common.ImageElement(filename);
            _captureProcess.CaptureInterface.DrawOverlayInGame(new Capture.Hook.Common.Overlay
            {
                Elements = new List<Capture.Hook.Common.IOverlayElement>
                {
                    imageElement,
                },
                Hidden = !cbDrawOverlay.Checked
            });

Program return that debag:

Debug: DXHookD3D11: PresentHook: Exeception: System.InvalidOperationException: System.InvalidOperationException: The bitmap area is already locked.

Server stack trace:
в System.Drawing.Bitmap.LockBits(Rectangle rect, ImageLockMode flags, PixelFormat format, BitmapData bitmapData)
в System.Drawing.Bitmap.LockBits(Rectangle rect, ImageLockMode flags, PixelFormat format)
в System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
в System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)

Exception rethrown at [0]:
в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
в System.Drawing.Bitmap.LockBits(Rectangle rect, ImageLockMode flags, PixelFormat format)
в Capture.Hook.DX11.DXImage.Initialise(Bitmap bitmap) в C:\Users\Stas\Downloads\Direct3DHook-master\Direct3DHook-master\Capture\Hook\DX11\DXImage.cs:string 62
в Capture.Hook.DX11.DXOverlayEngine.GetImageForImageElement(ImageElement element) в C:\Users\Stas\Downloads\Direct3DHook-master\Direct3DHook-master\Capture\Hook\DX11\DXOverlayEngine.cs:string 199
в Capture.Hook.DX11.DXOverlayEngine.InitialiseElementResources() в C:\Users\Stas\Downloads\Direct3DHook-master\Direct3DHook-master\Capture\Hook\DX11\DXOverlayEngine.cs:string 111
в Capture.Hook.DX11.DXOverlayEngine.Initialise(Device device, Texture2D renderTarget) в C:\Users\Stas\Downloads\Direct3DHook-master\Direct3DHook-master\Capture\Hook\DX11\DXOverlayEngine.cs:string 85
в Capture.Hook.DX11.DXOverlayEngine.Initialise(SwapChain swapChain) в C:\Users\Stas\Downloads\Direct3DHook-master\Direct3DHook-master\Capture\Hook\DX11\DXOverlayEngine.cs:string 47
в Capture.Hook.DXHookD3D11.PresentHook(IntPtr swapChainPtr, Int32 syncInterval, PresentFlags flags) в C:\Users\Stas\Downloads\Direct3DHook-master\Direct3DHook-master\Capture\Hook\DXHookD3D11.cs:string 559

@oSkrobuk
Copy link

oSkrobuk commented Sep 27, 2018

        ImageConverter converter = new ImageConverter();
        byte[] img = (byte[])converter.ConvertTo(Image.FromFile(@"D:\1.png"), typeof(byte[]));
        _captureProcess.CaptureInterface.DrawOverlayInGame(new Capture.Hook.Common.Overlay
        {
            Elements = {
                new Capture.Hook.Common.ImageElement()
                {
                    Location = new System.Drawing.Point(20, 20),
                    Image = img
                }
            },
            Hidden = false
        });

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants