gpt4 book ai didi

image - 使用sql查询将图像大小从150 * 150更改为70 * 70?

转载 作者:行者123 更新时间:2023-12-04 05:46:25 25 4
gpt4 key购买 nike

我将图像存储在 SQL Server 2008 R2 数据库中名为 image1 的 varBinary(max) 列中,其大小为 150*150。我添加了另一列名为 image2 varBinary(max) 的列,我需要使用 image1 中相同的图像但尺寸为 70*70 来更新此列。是否可以使用sql查询来做到这一点。

我试图找到查询,但没有得到任何线索如何做到这一点。请告诉我是否有人以前这样做过以及如何这样做?

最佳答案

我同意这里每个人的观点,但如果您确实想要或必须这样做,您可以在 SQL Server 上启用 CLR 集成,创建一个可以调整图像大小的程序集,然后从触发器或过程中调用它。这不是很难。这是描述该过程的页面:http://msdn.microsoft.com/en-us/library/ms254498(VS.80).aspx

主要是在 SQL Server 上启用 CLR:

sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO

创建一个 C# 程序集来调整图像大小:

using System;
using System.Data;
using Microsoft.SqlServer.Server;
using System.Data.SqlTypes;

public class ResizeImageProc
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void ResizeImage(int ImageID, int width, int height)
{
//TODO: ResizeImage Code
}
}

编译程序集

csc /target:library ResizeImageProc.cs 

在 SQL Server 中加载程序集:

CREATE ASSEMBLY ResizeImageAssembly from 'c:\ResizeImageProc.dll' WITH PERMISSION_SET = SAFE

创建过程

CREATE PROCEDURE ResizeImage AS EXTERNAL NAME ResizeImageAssembly.ResizeImageProc.ResizeImage

之后你就可以像普通过程一样调用它了。例如:

EXEC ResizeImage(1,800,600)

关于image - 使用sql查询将图像大小从150 * 150更改为70 * 70?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10631127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com