{"id":72,"date":"2019-04-29T08:44:30","date_gmt":"2019-04-28T23:44:30","guid":{"rendered":"https:\/\/notes.sys-support.jp\/?p=72"},"modified":"2019-04-29T08:44:30","modified_gmt":"2019-04-28T23:44:30","slug":"%e7%94%bb%e5%83%8f%e5%9b%9e%e8%bb%a2","status":"publish","type":"post","link":"https:\/\/notes.sys-support.jp\/?p=72","title":{"rendered":"\u753b\u50cf\u56de\u8ee2"},"content":{"rendered":"<p>type<br \/>TRGBArray = array[0 .. 0] of TRGBTriple;<br \/>PRGBArray = ^TRGBArray;<\/p>\n<p>\/\/ \u5de6\u56de\u8ee2\u30b5\u30f3\u30d7\u30eb<br \/>procedure TForm1.Button1Click(Sender: TObject);<br \/>var<br \/>Src, Dest: TBitmap;<br \/>Row, Col: Integer;<br \/>SrcRow, DestRow: PRGBArray;<br \/>Offset: Integer;<br \/>begin<br \/>Src := TBitmap.Create;<br \/>Dest := TBitmap.Create;<\/p>\n<p>try<br \/>\/\/ Image1\u304b\u3089Src\u306b\u30cf\u30f3\u30c9\u30eb\u3092\u79fb\u3059<br \/>Src.Handle := Image1.PIcture.Bitmap.ReleaseHandle;<br \/>\/\/ PixelFormat\u309224bit\u306b\u8a2d\u5b9a<br \/>Src.PixelFormat := pf24bit;<br \/>Dest.PixelFormat := pf24bit;<br \/>\/\/ Dest\u3078\u9818\u57df\u3092\u30b3\u30d4\u30fc(\u5e45\u3068\u9ad8\u3055\u3092\u30af\u30ed\u30b9)<br \/>Dest.Height := Src.Width;<br \/>Dest.Width := Src.Height;<\/p>\n<p>try<br \/>\/\/ Src\u6c34\u5e73\u65b9\u5411\u306e\u30eb\u30fc\u30d7<br \/>for Row := 0 to Src.Height -1 do<br \/>begin<br \/>SrcRow := Src.ScanLine[Row];<br \/>\/\/ Src\u5782\u76f4\u65b9\u5411\u306e\u30eb\u30fc\u30d7<br \/>for Col := 0 to Src.Width -1 do<br \/>begin<br \/>\/\/ Dest\u3092\u4e0b\u304b\u3089\u30bb\u30c3\u30c8\u3059\u308b\u305f\u3081\u306e\u30aa\u30d5\u30bb\u30c3\u30c8<br \/>Offset := (Dest.Height -1) &#8211; Col;<br \/>\/\/ Dest\u306e\u914d\u5217\u3092\u30af\u30ed\u30b9\u3055\u305b\u308b<br \/>DestRow := Dest.ScanLine[Offset];<br \/>\/\/ \u914d\u5217\u3092\u30bb\u30c3\u30c8\u3059\u308b<br \/>DestRow[Row].rgbtRed := SrcRow[Col].rgbtRed;<br \/>DestRow[Row].rgbtGreen := SrcRow[Col].rgbtGreen;<br \/>DestRow[Row].rgbtBlue := SrcRow[Col].rgbtBlue;<br \/>end;<br \/>end;<br \/>\/\/ \u6210\u529f\u3057\u305f\u5834\u5408\u3001Dest\u306e\u30cf\u30f3\u30c9\u30eb\u3092\u8fd4\u3059<br \/>Image1.Picture.Bitmap.Handle := Dest.ReleaseHandle;<br \/>except<br \/>\/\/ \u5931\u6557\u3057\u305f\u5834\u5408\u3001Src\u306e\u30cf\u30f3\u30c9\u30eb\u3092\u8fd4\u3059<br \/>Image1.Picture.Bitmap.Handle := Src.ReleaseHandle;<br \/>end;<br \/>finally<br \/>Src.Free;<br \/>Dest.Free;<br \/>end;<br \/>end;<\/p>\n<p>\/\/ \u53f3\u56de\u8ee2\u30b5\u30f3\u30d7\u30eb<br \/>procedure TForm1.Button2Click(Sender: TObject);<br \/>var<br \/>Src, Dest: TBitmap;<br \/>Row, Col: Integer;<br \/>SrcRow, DestRow: PRGBArray;<br \/>Offset: Integer;<br \/>begin<br \/>Src := TBitmap.Create;<br \/>Dest := TBitmap.Create;<br \/>try<br \/>\/\/ Image1\u304b\u3089Src\u306b\u30cf\u30f3\u30c9\u30eb\u3092\u79fb\u3059<br \/>Src.Handle := Image1.PIcture.Bitmap.ReleaseHandle;<br \/>\/\/ PixelFormat\u309224bit\u306b\u8a2d\u5b9a<br \/>Src.PixelFormat := pf24bit;<br \/>Dest.PixelFormat := pf24bit;<br \/>\/\/ Dest\u3078\u9818\u57df\u3092\u30b3\u30d4\u30fc(\u5e45\u3068\u9ad8\u3055\u3092\u30af\u30ed\u30b9)<br \/>Dest.Height := Src.Width;<br \/>Dest.Width := Src.Height;<br \/>try<br \/>\/\/ Src\u6c34\u5e73\u65b9\u5411\u306e\u30eb\u30fc\u30d7<br \/>for Row := 0 to Src.Height -1 do<br \/>begin<br \/>SrcRow := Src.ScanLine[Row];<br \/>\/\/ Dest\u3092\u53f3\u304b\u3089\u30bb\u30c3\u30c8\u3059\u308b\u305f\u3081\u306e\u30aa\u30d5\u30bb\u30c3\u30c8<br \/>Offset := (Dest.Width -1) &#8211; Row;<br \/>\/\/ Src\u5782\u76f4\u65b9\u5411\u306e\u30eb\u30fc\u30d7<br \/>for Col := 0 to Src.Width -1 do<br \/>begin<br \/>\/\/ Dest\u306e\u914d\u5217\u3092\u30af\u30ed\u30b9\u3055\u305b\u308b<br \/>DestRow := Dest.ScanLine[Col];<br \/>\/\/ \u914d\u5217\u3092\u30bb\u30c3\u30c8\u3059\u308b<br \/>DestRow[Offset].rgbtRed := SrcRow[Col].rgbtRed;<br \/>DestRow[Offset].rgbtGreen := SrcRow[Col].rgbtGreen;<br \/>DestRow[Offset].rgbtBlue := SrcRow[Col].rgbtBlue;<br \/>end;<br \/>end;<br \/>\/\/ \u6210\u529f\u3057\u305f\u5834\u5408\u3001Dest\u306e\u30cf\u30f3\u30c9\u30eb\u3092\u8fd4\u3059<br \/>Image1.Picture.Bitmap.Handle := Dest.ReleaseHandle;<br \/>except<br \/>\/\/ \u5931\u6557\u3057\u305f\u5834\u5408\u3001Src\u306e\u30cf\u30f3\u30c9\u30eb\u3092\u8fd4\u3059<br \/>Image1.Picture.Bitmap.Handle := Src.ReleaseHandle;<br \/>end;<br \/>finally<br \/>Src.Free;<br \/>Dest.Free;<br \/>end;<br \/>end;<\/p>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>typeTRGBArray = array[0 .. 0] of TRGBTriple;PRGBArray = ^TRGBArray; \/\/ \u5de6\u56de\u8ee2\u30b5\u30f3\u30d7\u30ebprocedure TForm1.Button1Click(Se &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/notes.sys-support.jp\/?p=72\" class=\"more-link\"><span class=\"screen-reader-text\">&#8220;\u753b\u50cf\u56de\u8ee2&#8221; \u306e<\/span>\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":""},"categories":[2],"tags":[],"class_list":["post-72","post","type-post","status-publish","format-standard","hentry","category-delphi"],"_links":{"self":[{"href":"https:\/\/notes.sys-support.jp\/index.php?rest_route=\/wp\/v2\/posts\/72","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/notes.sys-support.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/notes.sys-support.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/notes.sys-support.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/notes.sys-support.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=72"}],"version-history":[{"count":2,"href":"https:\/\/notes.sys-support.jp\/index.php?rest_route=\/wp\/v2\/posts\/72\/revisions"}],"predecessor-version":[{"id":74,"href":"https:\/\/notes.sys-support.jp\/index.php?rest_route=\/wp\/v2\/posts\/72\/revisions\/74"}],"wp:attachment":[{"href":"https:\/\/notes.sys-support.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=72"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/notes.sys-support.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=72"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/notes.sys-support.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=72"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}