이미지를 잘라서 새 열에 저장이미지를 잘라내어 새 열에 저장하고 싶었습니다.
제가 처음 접근한 방식은 다음과 같았습니다.
for each row (:new col = :old col << crop(...))
... 그런데 커뮤니티에서 @크레이지_헤일스 게시물을 발견했어요.
https://community.jmp.com/t5/Discussions/Crop-a-JPG-Image/mp/442473/highlight/true#M69072
중요한 정보와 함께:

그래서 저는 이렇게 시도해 보았습니다:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
for each row (:pet = :picture );
wait(0);
for each row (:pet << Crop( Left( 5 ), Right( 10 ), Top( 6 ), Bottom( 100 ) ));
...효과가 없음.
스크립팅 인덱스에서 다음을 발견했습니다.

img를 임시 변수로 사용해 보는 건 어떨까요?
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
for each row( img= :picture;;img << Crop( Left( 5 ), Right( 70 ), Top( 30 ), Bottom( 50 ) );:pet = img)
그리고 실제로:

하지만 데이터 테이블을 클릭한 후 입력 열도 변경된 것을 발견했습니다.

그래서, 내 최종 대본은 다음과 같았습니다.
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
for each row( img= new image(:picture);img << Crop( Left( 5 ), Right( 70 ), Top( 30 ), Bottom( 50 ) );:pet = img)
- new image()를 사용하여 새 이미지를 만듭니다.
- 이 이미지 크기를 조정하세요
- 새 열에 저장하세요
자동화 및 스크립팅Re: 이미지 잘라내기 및 새 열에 저장불행히도 실제 데이터 세트에서는 일부 이미지만 잘려나갔습니다.
간단한 설명: PowerPoint 프레젠테이션에서 복사/붙여넣기하여 이미지 열을 채웠습니다.
모든 이미지의 가로 세로 비율이 동일했기 때문에 JMP 데이터 그리드에서는 크기가 동일했지만, 실제 크기는 달랐습니다! 그리고 자르기는 인수의 픽셀 값이 이미지의 실제 크기보다 작을 때만 작동합니다.
다양한 종횡비의 이미지를 사용하면 감지하기가 훨씬 쉽습니다(커뮤니티 게시물에 대한 데모 사례를 만들려고 할 때).

Open( "$SAMPLE_DATA/SAS Offices.jmp" );
New Column( "cropped", Expression);
for each row( img= new image(:Photo);
{w, h} = img << Get Size;
img << Crop( Left( 10 ), Right( 800 ), Top( 10 ), Bottom( 70 ) );:cropped = img)
그래서, 내 마지막 대본은 다음과 같았습니다.
Open( "$SAMPLE_DATA/SAS Offices.jmp" );
New Column( "cropped", Expression );
For Each Row(
try(img = New Image( :Photo );
{w, h} = img << Get Size;
target = 500;
img << scale( 500 / w );
{w, h} = img << Get Size;
img << Crop( Left( Round( w / 3 ) ), Right( Round( w / 3 * 2 ) ), Top( Round( h / 10 ) ), Bottom( Round( h / 5 ) ) );
:cropped = img;)
);
시도해 보세요. -> 이미지 중 하나가 누락된 경우를 대비해서요.
Re: 이미지 잘라내기 및 새 열에 저장이것은 어렵지 않습니다.
제 생각에 어려운 부분은 한 사진의 배경을 투명하게 만들어서 다른 사진 위에 겹쳐 놓는 것입니다.
JSL에는 그림의 배경을 투명하게 만드는 기능이 없습니다.
다른 소프트웨어의 도움으로만 달성할 수 있습니다.
Re: 이미지 잘라내기 및 새 열에 저장run program(executable("I:\00\FastStoneIV\magick.exe"),options({目||" -fill none -fuzz 0% -draw \!"color 92,30 floodfill\!" "||标}));
