画像に枠2

解決


ポンポコビート  2005-11-11 10:46:51  No: 18610

以前「画像に枠(https://www.petitmonte.com/bbs/answers?question_id=3381)」というタイトルで質問したポンポコビートです
junkiさんに紹介して頂いたblog(http://blog.livedoor.jp/junki560/archives/20057485.html)を実際に試してみたのですが、うまくできません
http://snow.freespace.jp/bluvenz/file/orz.jpg
↑のようになてしまいます

コンポーネント名の置き換え以外にどのように書き換えたかというと、
TForm1.btnDrawClickif not Assigned(src) then exit;
を削除し、既に読み込んだファイルに枠を付けるという意味で、srcをImage1.Picture.Bitmapに置き換え、
FColorをRGBで直接ソースに記述しました
ちなみに、読み込み済みのファイルはビットマップです
FormCreateのImage1.AutoSize := true;の部分は記述していません

また、
TForm1.btnPasteClick、btnSelectColorClick、FormDestroy、btnCopyClickは記述していません

いろいろ試してみましたが、解決の糸口が全く掴めないので質問させて頂きました
どうぞ宜しくお願い致します


Hogehoge  2005-11-11 17:20:49  No: 18611

もともとのBitmapが大きいからでしょ?


ポンポコビート  2005-11-12 08:08:45  No: 18612

>もともとのBitmapが大きいからでしょ?
すいません
コレの意味がわからず・・・・
とりあえず、読み込む画像を小さくしてみたんですけど、やっぱり駄目でした><


りおりお  2005-11-12 08:44:26  No: 18613

他人のコードを試すときにはコツがあります。

1.まず、なにも変更しない。ファイル名とかは仕方ないけど。
2.1行変更するごとにコンパイル・実行を繰り返して変更が思った通りに
  反映されているか確認する。
3.うまくいかなかった時は一つ前に戻って、どうするといいか考える

この繰り返しです。たくさん変更して一気に実行してうまくいかないといっても
なかなか原因をつかめないものです。


りおりお  2005-11-12 08:50:41  No: 18614

> FormCreateのImage1.AutoSize := true;の部分は記述していません

これはなぜですか?
かなり重要な設定だと思いますけど。予め読み込んだり、Assign() する画像の
サイズが分からないときにはとても役に立つ設定です。あと、やたらと TImage 
のプロパティーを変更すると混乱します。互いに打ち消しあったりするプロパティー
もありますから。


ポンポコビート  2005-11-13 00:25:09  No: 18615

AutoSizeプロパティをFalseにしている理由として、
画像読み込み時にフォームのサイズ(最大サイズも)とTImageのサイズを設定しているからです

>1.まず、なにも変更しない。ファイル名とかは仕方ないけど。
>2.1行変更するごとにコンパイル・実行を繰り返して変更が思った通りに反映されているか確認する。
>3.うまくいかなかった時は一つ前に戻って、どうするといいか考える
ごもっともです^^;
今から試してみます!


りおりお  2005-11-13 02:22:25  No: 18616

> 画像読み込み時にフォームのサイズ(最大サイズも)とTImageのサイズを設定しているからです

こういう場合のおきまりとして、フォームのサイズに依らず画像を全部みるために
TScrollBox のなかの (0,0) の位置に TImage を置いて AutoSize を true に
します。わたしもよくやります。


ポンポコビート  2005-11-14 21:47:29  No: 18617

りおりおさん
アドバイスありがとうございます
長年Delphiをやっている方の貴重な意見、とてもためになります
身近に相談できる人もいないので、こういったアドバイスがきけて良かったです
これからもよろしくお願いします

ちなみに、少しずつ改造していったら、無事動かすことができました
本当にありがとうございます


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加