{"id":474,"date":"2008-05-06T18:16:14","date_gmt":"2008-05-06T18:16:14","guid":{"rendered":"http:\/\/6teen.ru\/?p=385"},"modified":"2008-05-06T18:16:14","modified_gmt":"2008-05-06T18:16:14","slug":"8173","status":"publish","type":"post","link":"http:\/\/pblog.ru\/lab\/?p=474","title":{"rendered":"\u041a\u0430\u043a \u043f\u043e\u0434\u0433\u0440\u0443\u0437\u0438\u0442\u044c 256 \u0446\u0432\u0435\u0442\u043d\u044b\u0439 \u0431\u0438\u0442\u043c\u0430\u043f \u0438\u0437 \u0440\u0435\u0441\u0443\u0440\u0441\u0430 \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439"},"content":{"rendered":"<p>\u041a\u0430\u043a \u043f\u043e\u0434\u0433\u0440\u0443\u0437\u0438\u0442\u044c 256 \u0446\u0432\u0435\u0442\u043d\u044b\u0439 \u0431\u0438\u0442\u043c\u0430\u043f \u0438\u0437 \u0440\u0435\u0441\u0443\u0440\u0441\u0430 \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439<br \/>\n<!--more--><\/p>\n<pre class=\"alt2\" style=\"margin:0px; padding:6px; border:1px inset; width:580px; height:320px; overflow:auto\"><div>\u041a\u0430\u043a \u043f\u043e\u0434\u0433\u0440\u0443\u0437\u0438\u0442\u044c 256 \u0446\u0432\u0435\u0442\u043d\u044b\u0439 \u0431\u0438\u0442\u043c\u0430\u043f \u0438\u0437 \u0440\u0435\u0441\u0443\u0440\u0441\u0430 \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u043b\u0438\u0442\u0440\u0435?\n\n\u041e\u0431\u044b\u0447\u043d\u043e \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:\n  Image1.BitMap.Handle:=LoadBitMap(hInstance,'BMP_NAME');\n\nLoadBitmap \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443, \u0431\u0435\u0437 \u043f\u0430\u043b\u0438\u0442\u0440\u044b. \u0415\u0441\u043b\u0438 \u043f\u0430\u043b\u0438\u0442\u0440\u0430 BitMap'\u0430 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439, \u0442\u043e \u0435\u0435 \u043d\u0430\u0434\u043e \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \"\u0432\u0440\u0443\u0447\u043d\u0443\u044e\". \u041c\u043e\u0433\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0435\u0441\u043b\u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u0434\u0432\u0435 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0441\n\u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043f\u0430\u043b\u0438\u0442\u0440\u0430\u043c\u0438.\n\nprocedure XLoadBitmap(Instance: THandle; BitmapName: PChar;\n                      var HB: HBitmap; var HP: HPalette);\nvar\n  DC: HDC;\n  BI: PBitMapInfo;\n  Pal: PLogPalette;\n  I: Integer;\n  ResIdHandle: THandle;\n  ResDataHandle: THandle;\n  Bitmap: HBitmap;\n  C: HWnd;\n  OldPalette, Palette: HPalette;\n\nbegin\n  Bitmap:= 0; Palette:=0;\n  HB:=0; HP:=0;\n  {\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441 \u0438\u0437 \u043c\u043e\u0434\u0443\u043b\u044f}\n  ResIDHandle := FindResource(Instance, BitmapName, rt_BitMap);\n  if ResIDHandle<>0 then begin\n    ResDataHandle := LoadResource(Instance, ResIDHandle);\n    if ResDataHandle<>0 then begin\n      BI:= LockResource(ResDataHandle);\n      if BI <> nil then begin\n        {256-\u0446\u0432\u0435\u0442\u043d\u044b\u0439 \u0431\u0438\u0442\u043c\u0430\u043f?}\n        if BI^.bmiHeader.biBitCount = 8 then begin\n          {\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0430\u043b\u0438\u0442\u0440\u0443}\n          GetMem(Pal, SizeOf(TLogPalette) + 256 * SizeOf(TPaletteEntry));\n          for I:= 0 to 255 do\n            with Pal^.palPalEntry[I] do begin\n              peRed  := BI^.bmiColors[I].rgbRed;\n              peGreen:= BI^.bmiColors[I].rgbGreen;\n              peBlue := BI^.bmiColors[I].rgbBlue;\n              peFlags:= 0;\n            end;\n          Pal^.palNumEntries:= 256;\n          Pal^.palVersion   := $300;\n          Palette:= CreatePalette(Pal^);\n          FreeMem(Pal, SizeOf(TLogPalette) + 256 * SizeOf(TPaletteEntry));\n\n          {\u041f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u0446\u0432\u0435\u0442\u0430 \u043f\u0430\u043b\u0438\u0442\u0440\u044b \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435}\n          DC:= CreateDC('Display', nil, nil, nil);\n          OldPalette:= SelectPalette(DC, Palette, False);\n          UnrealizeObject(Palette);\n          RealizePalette(DC);\n\n          {\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0431\u0438\u0442\u043c\u0430\u043f}\n          BitMap:= CreateDIBitmap(DC, BI^.bmiHeader, CBM_INIT,\n            @PByteArray(BI)^[SizeOf(TBitMapInfo) + SizeOf(TRGBQuad) * 256 - 4],\n            BI^, DIB_RGB_COLORS);\n\n          {\u041e\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b}\n          UnlockResource(ResDataHandle);\n          FreeResource(ResDataHandle);\n          SelectPalette(DC, OldPalette, False);\n          DeleteDC(DC);\n        end else begin\n          {\u041d\u0435 256-\u0446\u0432\u0435\u0442\u043d\u044b\u0439 \u0431\u0438\u0442\u043c\u0430\u043f}\n          UnlockResource(ResDataHandle);\n          FreeResource(ResDataHandle);\n          BitMap:= LoadBitmap(Instance, BitmapName);\n        end;\n        HB := Bitmap;\n        HP := Palette;\n      end;  {BI <> nil         }\n    end;    {ResDataHandle <> 0}\n  end;      {ResIDHandle <> 0  }\nend;\n\nprocedure TForm1.FormCreate(Sender: TObject);\nvar\n  HB: HBitmap;\n  HP: HPalette;\nbegin\n  xLoadBitmap(hInstance, 'PHOTO', HB, HP);\n  Image1.Picture.Bitmap.Handle :=HB;\n  Image1.Picture.Bitmap.Palette:=HP;\nend;\n\n\u041a\u043e\u0434 \u0412\u0430\u0434\u0438\u043c\u0430 \u041f\u0443\u0437\u0430\u043d\u043e\u0432\u0430 \/\u041a\u0440\u0430\u0441\u043d\u043e\u044f\u0440\u0441\u043a\/\n<\/div><\/pre>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041a\u0430\u043a \u043f\u043e\u0434\u0433\u0440\u0443\u0437\u0438\u0442\u044c 256 \u0446\u0432\u0435\u0442\u043d\u044b\u0439 \u0431\u0438\u0442\u043c\u0430\u043f \u0438\u0437 \u0440\u0435\u0441\u0443\u0440\u0441\u0430 \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[16,456],"tags":[1092,1225,1488,1522,1563,1688,1852],"_links":{"self":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/474"}],"collection":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=474"}],"version-history":[{"count":0,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/474\/revisions"}],"wp:attachment":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=474"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=474"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}